You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

723 lines
31 KiB
C#

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Runtime.Remoting.Contexts;
using System.Text;
using System.Threading.Tasks;
using Txgy.EWS.Client.Common;
using Txgy.EWS.Client.IDAL;
using Txgy.EWS.Client.Models;
using Txgy.Microseismic.BaseLib.Common;
using Txgy.Microseismic.BaseLib.Entitys;
using Txgy.Microseismic.BaseLib.Helpers;
using Txgy.Microseismic.BaseLib.Models;
namespace Txgy.EWS.Client.DAL
{
public class RemoteMySQLDataAccess : IRemoteMySQLDataAccess
{
IFreeSql fsql = FreeSqlTencent.tencentRemoteMySQL;
public MySqlConnection RemoteConn { get; set; }
public MySqlCommand Comm { get; set; }
public MySqlDataAdapter Adap { get; set; }
private int preSelectCount = 0;
int IRemoteMySQLDataAccess.PreSelectCount
{
get { return preSelectCount; }
set { preSelectCount = value; }
}
private void Dispose()
{
if (Adap != null)
{
Adap.Dispose();
Adap = null;
}
if (Comm != null)
{
Comm.Dispose();
Comm = null;
}
if (RemoteConn != null)
{
RemoteConn.Close();
RemoteConn.Dispose();
RemoteConn = null;
}
}
private bool DBConnection()
{
string connStr = ConfigurationManager.ConnectionStrings["TencetnMySQL"].ConnectionString;
if (RemoteConn == null)
RemoteConn = new MySqlConnection(connStr);
try
{
if (RemoteConn.State != ConnectionState.Open)
{
RemoteConn.Open();
}
return true;
}
catch
{
return false;
}
}
public List<postproeventresult> GetEvents(DateTime startTime, DateTime endTime, int pageIndex, int perPageCount, float minML = -1, float maxML = 0)
{
List<postproeventresult> pps = new List<postproeventresult>();
try
{
string startStr = startTime.Year.ToString() + "-" + startTime.Month.ToString("D2") + "-" + startTime.Day.ToString("D2") + "T" +
startTime.Hour.ToString("D2") + ":" + startTime.Minute.ToString("D2") + ":" + startTime.Second.ToString("D2");
string endStr = endTime.Year.ToString() + "-" + endTime.Month.ToString("D2") + "-" + endTime.Day.ToString("D2") + "T" +
endTime.Hour.ToString("D2") + ":" + endTime.Minute.ToString("D2") + ":" + endTime.Second.ToString("D2");
pps = fsql.Select<postproeventresult>()
.Where(pp => DateTime.Parse(pp.EventTime) >= startTime && DateTime.Parse(pp.EventTime) <= endTime
&& pp.ML >= minML && pp.ML <= maxML)
.Page(pageNumber: pageIndex, pageSize: perPageCount).ToList();
return pps;
//if (DBConnection())
//{
// string courseSql = @"select count(*) from postproeventresult where EventTime>=@stime and EventTime<=@etime
// and ML>=@min and ML<=@max";
// Comm = new MySqlCommand(courseSql, RemoteConn);
// Comm.Parameters.Add(new MySqlParameter("@stime", MySqlDbType.VarChar) { Value = startStr });
// Comm.Parameters.Add(new MySqlParameter("@etime", MySqlDbType.VarChar) { Value = endStr });
// Comm.Parameters.Add(new MySqlParameter("@min", MySqlDbType.Float) { Value = minML });
// Comm.Parameters.Add(new MySqlParameter("@max", MySqlDbType.Float) { Value = maxML });
// int selectCount = int.Parse(Convert.ToString(Comm.ExecuteScalar()));
// int checkIndex = (pageIndex - 1) * perPageCount;
// if (checkIndex >= selectCount)
// pageIndex = 1;
// // 根据分布取数据
// //var v = from q in Context.Set<AutoRegister>().Skip((pageIndex - 1) * perPageCount).Take(perPageCount).ToList()
// // join lc in Context.Set<LicenseColor>() on q.LicenseColorId equals lc.ColorId
// // join ac in Context.Set<AutoColor>() on q.AutoColorId equals ac.ColorId
// // join am in Context.Set<FeeModel>() on q.FeeModeId equals am.FeeModelId
// // where q.State == 1
// // select new
// // {
// // AutoId = q.AutoId,
// // AutoLicense = q.AutoLicense,
// // LColorId = lc.ColorId,
// // LColorName = lc.ColorName,
// // AColorId = ac.ColorId,
// // AColorName = ac.ColorName,
// // FeeModelId = am.FeeModelId,
// // FeeModelName = am.FeeModelName,
// // Description = q.Description
// // };
// //result.State = 1;
// //result.Message = "";
// //result.PageInfo = new PageInfo() { PageIndex = pageIndex, RecordCount = count };
// //result.Data = Newtonsoft.Json.JsonConvert.SerializeObject(v.ToList());
//}
}
catch (Exception ex)
{
return null;
}
}
public List<MmEventEntity> GetEvents(DateTime startTime, DateTime endTime)
{
try
{
if (DBConnection())
{
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " where EventTime>=@stime and EventTime<=@etime";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
string startStr = startTime.Year.ToString() + "-" + startTime.Month.ToString("D2") + "-" + startTime.Day.ToString("D2") + "T" +
startTime.Hour.ToString("D2") + ":" + startTime.Minute.ToString("D2") + ":" + startTime.Second.ToString("D2");
string endStr = endTime.Year.ToString() + "-" + endTime.Month.ToString("D2") + "-" + endTime.Day.ToString("D2") + "T" +
endTime.Hour.ToString("D2") + ":" + endTime.Minute.ToString("D2") + ":" + endTime.Second.ToString("D2");
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@stime", MySqlDbType.VarChar) { Value = startStr });
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@etime", MySqlDbType.VarChar) { Value = endStr });
Adap.SelectCommand.CommandTimeout = 5;
DataTable dataTable = new DataTable();
//Adap = null;
Adap.Fill(dataTable);
List<MmEventEntity> list = new List<MmEventEntity>();
foreach (DataRow dr in dataTable.AsEnumerable())
{
MmEventEntity mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
list.Add(mm);
}
return list;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
public List<MmEventEntity> GetEvents(DateTime startTime, DateTime endTime, double minML, double maxML)
{
try
{
if (DBConnection())
{
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " where EventTime>=@stime and EventTime<=@etime and (ML>=@minML and ML<=@maxML)";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
string startStr = startTime.Year.ToString() + "-" + startTime.Month.ToString("D2") + "-" + startTime.Day.ToString("D2") + "T" +
startTime.Hour.ToString("D2") + ":" + startTime.Minute.ToString("D2") + ":" + startTime.Second.ToString("D2");
string endStr = endTime.Year.ToString() + "-" + endTime.Month.ToString("D2") + "-" + endTime.Day.ToString("D2") + "T" +
endTime.Hour.ToString("D2") + ":" + endTime.Minute.ToString("D2") + ":" + endTime.Second.ToString("D2");
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@stime", MySqlDbType.VarChar) { Value = startStr });
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@etime", MySqlDbType.VarChar) { Value = endStr });
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@minML", MySqlDbType.Double) { Value = minML });
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@maxML", MySqlDbType.Double) { Value = maxML });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
List<MmEventEntity> list = new List<MmEventEntity>();
foreach (DataRow dr in dataTable.AsEnumerable())
{
MmEventEntity mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("X");
mm.Y = dr.Field<double>("Y");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
list.Add(mm);
}
return list;
}
}
catch (Exception ex)
{
//messagebox.show
}
finally
{
this.Dispose();
}
return null;
}
public List<MmEventEntity> GetEvents(string QueryStr, SortTarget ssm, int sm, Models.FilterCondition<double> energyFC)
{
try
{
if (DBConnection())
{
Adap = new MySqlDataAdapter(QueryStr, RemoteConn);
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
List<MmEventEntity> sqllist = new List<MmEventEntity>();
List<MmEventEntity> resultlist = new List<MmEventEntity>();
foreach (DataRow dr in dataTable.AsEnumerable())
{
MmEventEntity mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
sqllist.Add(mm);
}
if (energyFC.IsUse)
{
resultlist = sqllist.Where(sl => sl.Energy >= energyFC.Cond2 && sl.Energy <= energyFC.Cond1).ToList();
}
else
{
resultlist = sqllist;
}
switch (ssm)
{
case SortTarget.Time:
resultlist.Sort((x, y) =>
{
return sm * x.EventTime.CompareTo(y.EventTime);
});
break;
case SortTarget.ML:
resultlist.Sort((x, y) =>
{
return sm * x.ML.CompareTo(y.ML);
});
break;
case SortTarget.Energy:
resultlist.Sort((x, y) =>
{
return sm * x.Energy.CompareTo(y.Energy);
});
break;
case SortTarget.Depth:
resultlist.Sort((x, y) =>
{
return sm * x.Z.CompareTo(y.Z);
});
break;
default:
break;
}
return resultlist;
}
}
catch (Exception ex)
{
//throw ex;
}
finally
{
this.Dispose();
}
return null;
}
/// <summary>
/// 返回指定数量的最新事件,按发震时刻排序
/// </summary>
/// <param name="MaxCnt">数量</param>
/// <returns></returns>
public List<MmEventEntity> GetTopEvents(int MaxCnt, int PreCnt)
{
try
{
if (DBConnection())
{
string CountSql = @"select count('" + GlobalConfig.EventIDColName + "') from " + GlobalConfig.UseResultTable;
Comm = new MySqlCommand(CountSql, RemoteConn);
int count = int.Parse(Convert.ToString(Comm.ExecuteScalar()));
if (count > preSelectCount)
{
preSelectCount = count;
}
//Console.WriteLine(count);
if (count > PreCnt)
{
int selCnt = count - PreCnt;
if (selCnt > MaxCnt)
selCnt = MaxCnt;
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " order by " + GlobalConfig.EventIDColName + " desc limit @tcnt";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@tcnt", MySqlDbType.Int32) { Value = selCnt });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
List<MmEventEntity> list = new List<MmEventEntity>();
foreach (DataRow dr in dataTable.AsEnumerable())
{
MmEventEntity mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = Math.Round(dr.Field<float>("ML"), 2);
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
list.Add(mm);
}
return list;
}
else
{
return null;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
public bool DownLoadWavedata(string eventTime, string savePath, string saveName, string tableName)
{
//bool res = false;
try
{
if (DBConnection())
{
string courseSql = @"select WaveData from " + tableName + " where EventTime=@eventTime";
MySqlCommand cmd = new MySqlCommand(courseSql, RemoteConn);
cmd.Parameters.AddWithValue("@eventTime", eventTime);
MySqlDataReader dr = cmd.ExecuteReader();
List<byte> wds = new List<byte>();
while (dr.Read()) //开始读数据
{
byte[] blob;
blob = (byte[])dr["wavedata"];
if (blob.Length == 0)
break;
wds.AddRange(blob);
//Array.ConstrainedCopy(blob, 0, wd, 0, blob.Length);
//Console.WriteLine(blob.Length + ">>>>>>>>>>>");
//对数据进行处理
}
string mseedPath = savePath + saveName + ".mseed";
SaveBinaryFile(mseedPath, wds.ToArray());
dr.Close();
dr.Dispose();
courseSql = @"select JsonFile from " + tableName + " where EventTime=@eventTime";
cmd = new MySqlCommand(courseSql, RemoteConn);
cmd.Parameters.AddWithValue("@eventTime", eventTime);
MySqlDataReader drjson = cmd.ExecuteReader();
List<byte> jsonList = new List<byte>();
while (drjson.Read()) //开始读数据
{
byte[] blob;
blob = (byte[])drjson["JsonFile"];
if (blob.Length == 0)
break;
jsonList.AddRange(blob);
}
string jsonPath = savePath + saveName + ".json";
SaveBinaryFile(jsonPath, jsonList.ToArray());
drjson.Close();
drjson.Dispose();
cmd.Dispose();
return true;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return false;
}
public void SaveBinaryFile(string fn, byte[] datas)
{
FileStream fs = new FileStream(fn, FileMode.OpenOrCreate);
BinaryWriter binWriter = new BinaryWriter(fs);
binWriter.Write(datas);
binWriter.Close();
fs.Close();
}
public MmEventEntity GetEvent(int eventID)
{
try
{
if (DBConnection())
{
MmEventEntity mm;
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " where " + GlobalConfig.EventIDColName + "==@eid";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@eid", MySqlDbType.VarChar) { Value = eventID });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
if (dataTable.Rows.Count > 0)
{
DataRow dr = dataTable.Rows[0];
mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
return mm;
}
else
{
return null;
}
}
}
catch (Exception ex)
{
//messagebox.show
}
finally
{
this.Dispose();
}
return null;
}
public MmEventEntity GetEvent(string eventTime)
{
try
{
if (DBConnection())
{
MmEventEntity mm;
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " where EventTime==@etime";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
//string startStr = startTime.Year.ToString() + "-" + startTime.Month.ToString("D2") + "-" + startTime.Day.ToString("D2") + "T" +
// startTime.Hour.ToString("D2") + ":" + startTime.Minute.ToString("D2") + ":" + startTime.Second.ToString("D2");
//string endStr = endTime.Year.ToString() + "-" + endTime.Month.ToString("D2") + "-" + endTime.Day.ToString("D2") + "T" +
// endTime.Hour.ToString("D2") + ":" + endTime.Minute.ToString("D2") + ":" + endTime.Second.ToString("D2");
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@etime", MySqlDbType.VarChar) { Value = eventTime });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
if (dataTable.Rows.Count > 0)
{
DataRow dr = dataTable.Rows[0];
mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
return mm;
}
else
{
return null;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
public MmEventEntity GetLastEvent()
{
try
{
if (DBConnection())
{
MmEventEntity mm;
//string courseSql = @"select * from " + GlobalConfig.UseResultTable + " " +
// "where "+GlobalConfig.EventIDColName+"=(select max("+ GlobalConfig.EventIDColName + ") from "+ GlobalConfig.UseResultTable+")";
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " " +
"order by " + GlobalConfig.EventIDColName + " desc limit 1";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
if (dataTable.Rows.Count > 0)
{
DataRow dr = dataTable.Rows[0];
mm = new MmEventEntity();
mm.WorkAreaID = dr.Field<int>("WorkAreaID");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.OriginTime = dr.Field<string>("OriginTime");
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
mm.RMS = dr.Field<float>("RMS");
MsEventHelper.GetEnergy(mm.ML);
return mm;
}
else
{
return null;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
public MmEventEntity GetLastEvent(DateTime deadline)
{
try
{
if (DBConnection())
{
MmEventEntity mm;
string deadlineStr = deadline.Year.ToString() + "-" + deadline.Month.ToString("D2") + "-" + deadline.Day.ToString("D2") + "T" +
deadline.Hour.ToString("D2") + ":" + deadline.Minute.ToString("D2") + ":" + deadline.Second.ToString("D2");
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " where EventTime<=@etime " +
"order by " + GlobalConfig.EventIDColName + " desc limit 1";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@etime", MySqlDbType.VarChar) { Value = deadlineStr });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
if (dataTable.Rows.Count > 0)
{
DataRow dr = dataTable.Rows[0];
mm = new MmEventEntity();
mm.WorkAreaID = dr.Field<int>("WorkAreaID");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.OriginTime = dr.Field<string>("OriginTime");
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = dr.Field<float>("ML");
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
mm.RMS = dr.Field<float>("RMS");
MsEventHelper.GetEnergy(mm.ML);
return mm;
}
else
{
return null;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
public List<MmEventEntity> GetLastNewEvents(int resultCount)
{
try
{
if (DBConnection())
{
//string CountSql = @"select count('" + GlobalConfig.EventIDColName + "') from " + GlobalConfig.UseResultTable;
//Comm = new MySqlCommand(CountSql, RemoteConn);
//int count = int.Parse(Convert.ToString(Comm.ExecuteScalar()));
//if (count > preSelectCount)
//{
// preSelectCount = count;
//}
////Console.WriteLine(count);
// int selCnt = count - PreCnt;
// if (selCnt > MaxCnt)
// selCnt = MaxCnt;
string courseSql = @"select * from " + GlobalConfig.UseResultTable + " order by " + GlobalConfig.EventIDColName + " desc limit @tcnt";
Adap = new MySqlDataAdapter(courseSql, RemoteConn);
Adap.SelectCommand.Parameters.Add(new MySqlParameter("@tcnt", MySqlDbType.Int32) { Value = resultCount });
DataTable dataTable = new DataTable();
Adap.Fill(dataTable);
List<MmEventEntity> list = new List<MmEventEntity>();
foreach (DataRow dr in dataTable.AsEnumerable())
{
MmEventEntity mm = new MmEventEntity();
//mm.WorkAreaID = dr.Field<int>("workarea_id");
mm.EventID = dr.Field<int>(GlobalConfig.EventIDColName);
mm.EventTimeStr = dr.Field<string>("EventTime");
mm.EventTime = DateTime.Parse(dr.Field<string>("EventTime"));
mm.X = dr.Field<double>("Y");
mm.Y = dr.Field<double>("X");
mm.Z = dr.Field<double>("Z");
mm.ML = Math.Round(dr.Field<float>("ML"), 2);
mm.LocSta = dr.Field<int>("LocSta");
mm.MLSta = dr.Field<int>("MLSta");
MsEventHelper.GetEnergy(mm.ML);
list.Add(mm);
}
return list;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
this.Dispose();
}
return null;
}
}
}