public bool DeleteResultFromDB(MeasurementResults obj, string Status) { bool isSuccess = false; try { /// Create new record in YXbsMeastask YXbsMeasurementres measRes = new YXbsMeasurementres(ConnectDB.Connect_Main_); measRes.Format("*"); if (obj != null) { if ((obj.Id.MeasTaskId != null) && (obj.StationMeasurements != null) && (obj.Id.SubMeasTaskId != ConnectDB.NullI) && (obj.Id.SubMeasTaskStationId != ConnectDB.NullI)) { if (obj.StationMeasurements.StationId != null) { if (measRes.Fetch(string.Format(" (meastaskid={0}) and (sensorid={1}) and (submeastaskid={2}) and (submeastaskstationid={3})", obj.Id.MeasTaskId.Value, obj.StationMeasurements.StationId.Value, obj.Id.SubMeasTaskId, obj.Id.SubMeasTaskStationId))) { isSuccess = true; measRes.m_status = Status; measRes.Save(); } } } else if (obj.Id.MeasTaskId != null) { { measRes.Filter = string.Format(" (meastaskid={0}) ", obj.Id.MeasTaskId.Value); for (measRes.OpenRs(); !measRes.IsEOF(); measRes.MoveNext()) { isSuccess = true; measRes.m_status = Status; measRes.Save(); } } } measRes.Close(); measRes.Dispose(); } } catch (Exception) { isSuccess = false; } return(isSuccess); }
public int SaveResultToDB(MeasurementResults obj) { int ID = ConnectDB.NullI; if (((obj.TypeMeasurements == MeasurementType.SpectrumOccupation) && (obj.Status == "C")) || (obj.TypeMeasurements != MeasurementType.SpectrumOccupation)) { //Task tsk = new Task(() => //{ try { /// Create new record in YXbsMeastask if (obj != null) { if ((obj.Id.MeasTaskId != null) && (obj.StationMeasurements != null) && (obj.Id.SubMeasTaskId != ConnectDB.NullI) && (obj.Id.SubMeasTaskStationId != ConnectDB.NullI)) { if (obj.StationMeasurements.StationId != null) { YXbsMeasurementres measRes = new YXbsMeasurementres(ConnectDB.Connect_Main_); measRes.Format("*"); measRes.Filter = "[ID]=-1"; measRes.New(); ID = measRes.AllocID(); obj.Id.MeasSdrResultsId = ID; if (obj.AntVal != null) { measRes.m_antval = obj.AntVal.GetValueOrDefault(); } if (obj.DataRank != null) { measRes.m_datarank = obj.DataRank.GetValueOrDefault(); } measRes.m_status = obj.Status; measRes.m_meastaskid = obj.Id.MeasTaskId.Value; if (obj.N != null) { measRes.m_n = obj.N.GetValueOrDefault(); } measRes.m_sensorid = obj.StationMeasurements.StationId.Value; measRes.m_submeastaskid = obj.Id.SubMeasTaskId; measRes.m_submeastaskstationid = obj.Id.SubMeasTaskStationId; measRes.m_timemeas = obj.TimeMeas; measRes.m_typemeasurements = obj.TypeMeasurements.ToString(); measRes.Save(); measRes.Close(); measRes.Dispose(); } } if (ID != ConnectDB.NullI) { if (obj.LocationSensorMeasurement != null) { foreach (LocationSensorMeasurement dt_param in obj.LocationSensorMeasurement.ToArray()) { if (dt_param != null) { YXbsLocationsensorm dtr = new YXbsLocationsensorm(ConnectDB.Connect_Main_); dtr.Format("*"); dtr.Filter = "[ID]=-1"; dtr.New(); int ID_DT_params = dtr.AllocID(); if (dt_param.ASL != null) { dtr.m_asl = dt_param.ASL.GetValueOrDefault(); } if (dt_param.Lon != null) { dtr.m_lon = dt_param.Lon.GetValueOrDefault(); } if (dt_param.Lat != null) { dtr.m_lat = dt_param.Lat.GetValueOrDefault(); } dtr.m_id_xbs_measurementres = ID; dtr.Save(); dtr.Close(); dtr.Dispose(); } } } if (obj.MeasurementsResults != null) { int idx_cnt = 0; foreach (MeasurementResult dt_param in obj.MeasurementsResults.ToArray()) { if ((obj.TypeMeasurements == MeasurementType.Level) && (obj.Status != "O")) { if (dt_param != null) { if (dt_param is LevelMeasurementResult) { YXbsLevelmeasres dtrR = new YXbsLevelmeasres(ConnectDB.Connect_Main_); dtrR.Format("*"); dtrR.Filter = "[ID]=-1"; dtrR.New(); int ID_DT_params = dtrR.AllocID(); if ((dt_param as LevelMeasurementResult).Value != null) { dtrR.m_value = (dt_param as LevelMeasurementResult).Value.GetValueOrDefault(); } if ((dt_param as LevelMeasurementResult).PMax != null) { dtrR.m_pmax = (dt_param as LevelMeasurementResult).PMax.GetValueOrDefault(); } if ((dt_param as LevelMeasurementResult).PMin != null) { dtrR.m_pmin = (dt_param as LevelMeasurementResult).PMin.GetValueOrDefault(); } dtrR.m_id_xbs_measurementres = ID; dtrR.Save(); dtrR.Close(); dtrR.Dispose(); if (obj.FrequenciesMeasurements != null) { List <FrequencyMeasurement> Fr_e = obj.FrequenciesMeasurements.ToList().FindAll(t => t.Id == dt_param.Id.Value); if (Fr_e != null) { if (Fr_e.Count > 0) { foreach (FrequencyMeasurement dt_param_freq in Fr_e.ToArray()) { if (dt_param_freq != null) { YXbsFrequencymeas dtr_freq = new YXbsFrequencymeas(ConnectDB.Connect_Main_); dtr_freq.Format("*"); dtr_freq.Filter = "[ID]=-1"; dtr_freq.New(); int ID_DT_params_freq = dtr_freq.AllocID(); dtr_freq.m_freq = dt_param_freq.Freq; dtr_freq.m_id_xbs_measurementres = ID; dtr_freq.m_num = ID_DT_params; dtr_freq.Save(); dt_param_freq.Id = ID_DT_params; dtr_freq.Close(); dtr_freq.Dispose(); } } } } } dt_param.Id = new MeasurementResultIdentifier(); dt_param.Id.Value = ID_DT_params; } } } else if ((obj.TypeMeasurements == MeasurementType.SpectrumOccupation) && (obj.Status == "C")) { if (dt_param != null) { if (dt_param is SpectrumOccupationMeasurementResult) { YXbsSpectoccupmeas dtr = new YXbsSpectoccupmeas(ConnectDB.Connect_Main_); dtr.Format("*"); dtr.Filter = "[ID]=-1"; dtr.New(); int ID_DT_params = dtr.AllocID(); if ((dt_param as SpectrumOccupationMeasurementResult).Value != null) { dtr.m_value = (dt_param as SpectrumOccupationMeasurementResult).Value.GetValueOrDefault(); } if ((dt_param as SpectrumOccupationMeasurementResult).Occupancy != null) { dtr.m_occupancy = (dt_param as SpectrumOccupationMeasurementResult).Occupancy.GetValueOrDefault(); } dtr.m_id_xbs_measurementres = ID; dtr.Save(); dtr.Close(); dtr.Dispose(); if (obj.FrequenciesMeasurements != null) { List <FrequencyMeasurement> Fr_e = obj.FrequenciesMeasurements.ToList().FindAll(t => t.Id == dt_param.Id.Value); if (Fr_e != null) { if (Fr_e.Count > 0) { foreach (FrequencyMeasurement dt_param_freq in Fr_e.ToArray()) { if (dt_param_freq != null) { YXbsFrequencymeas dtr_freq = new YXbsFrequencymeas(ConnectDB.Connect_Main_); dtr_freq.Format("*"); dtr_freq.Filter = "[ID]=-1"; dtr_freq.New(); int ID_DT_params_freq = dtr_freq.AllocID(); dtr_freq.m_freq = dt_param_freq.Freq; dtr_freq.m_id_xbs_measurementres = ID; dtr_freq.m_num = ID_DT_params; dtr_freq.Save(); dt_param_freq.Id = ID_DT_params; dtr_freq.Close(); dtr_freq.Dispose(); } } } } } dt_param.Id = new MeasurementResultIdentifier(); dt_param.Id.Value = ID_DT_params; } } } //else { if (dt_param != null) { if (dt_param is LevelMeasurementOnlineResult) { YXbsLevelmeasonlres dtr = new YXbsLevelmeasonlres(ConnectDB.Connect_Main_); dtr.Format("*"); dtr.Filter = "[ID]=-1"; dtr.New(); int ID_DT_params = dtr.AllocID(); if ((dt_param as LevelMeasurementOnlineResult).Value != ConnectDB.NullD) { dtr.m_value = (dt_param as LevelMeasurementOnlineResult).Value; } dtr.m_id_xbs_measurementres = ID; dtr.Save(); dt_param.Id = new MeasurementResultIdentifier(); dt_param.Id.Value = ID_DT_params; dtr.Close(); dtr.Dispose(); } } } idx_cnt++; } } } } } catch (Exception ex) { System.Console.WriteLine("SaveResultToDB: " + ex.Message); } //}); //tsk.Start(); //tsk.Wait(30000); } return(ID); }