public PumpModel2ParameterModel GetPumpModel2Parameter(Guid pumpId) { var result = new PumpModel2ParameterModel(); var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel2Mongo>(); var pumpState = collection.Find(t => t.PumpId == pumpId.ToString()) .SortByDescending(t => t.DateAndTime).FirstOrDefault(); if (pumpState == null) { throw new DataValidationException("State data not found"); } ///var engineCommand = db.PumpCommand.Where(t => t.PumpId == engineId).FirstOrDefault(); if (pumpState != null) { result.FuelLevel = pumpState.FuelLevel; result.FuelLevel = pumpState.FuelLevel; result.Pressure = pumpState.Pressure; result.FlowMeter = pumpState.FlowMeter; result.TimeMTNHour = pumpState.TimeMTNHour; result.TimeMTNMin = pumpState.TimeMTNMin; result.TimeMTNSec = pumpState.TimeMTNSec; result.OffFuel = pumpState.LEDOffFuel == 1; result.CalibrationPressure = (int?)pumpState.CalibrationPressure; result.CalibrationFlow = (int?)pumpState.CalibrationFlow; result.SpeedOver = (int?)pumpState.SpeedOver; result.SetTimeMTN = (int?)pumpState.SetTimeMTN; } result.PumpId = pumpId; return(result); }
private PumpStateModel1Model GetPumpStateModel1(Pump pump) { var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel1Mongo>(); var state = collection.Find(t => t.PumpId == pump.Id.ToString()) .SortByDescending(t => t.DateAndTime).FirstOrDefault(); if (state == null) { return(new PumpStateModel1Model()); } var result = new PumpStateModel1Model(); result.PumpId = Guid.Parse(state.PumpId); result.IndexNo = (int)state.IndexNo; result.DateAndTime = state.DateAndTime; result.StatusGen = state.StatusGen; result.StatusMotor = state.StatusMotor; result.StatusBarGen = (int?)state.StatusBarGen; result.LEDGen = state.LEDGen; result.StatusBarMotor = (int?)state.StatusBarMotor; result.LEDMotor = state.LEDMotor; result.L1NGen = state.L1NGen; result.L2NGen = state.L2NGen; result.L3NGen = state.L3NGen; result.TempGen = state.TempGen; result.L1L2Gen = state.L1L2Gen; result.L2L3Gen = state.L2L3Gen; result.L3L1Gen = state.L3L1Gen; result.SpeedGen = state.SpeedGen; result.Fuel = state.Fuel; result.Battery = state.Battery; result.Oil = state.Oil; result.Charge = state.Charge; result.FrequencyGen = state.FrequencyGen; result.KWHGen = state.KWHGen; result.P1NMotor = state.P1NMotor; result.P2NMotor = state.P2NMotor; result.P3NMotor = state.P3NMotor; result.TempMotor = state.TempMotor; result.AmpL1 = state.AmpL1; result.AmpL2 = state.AmpL2; result.AmpL3 = state.AmpL3; result.SpeedMotor = state.SpeedMotor; result.Pressure = state.Pressure; result.Vibration = state.Vibration; result.Flow = state.Flow; result.FrequencyMotor = state.FrequencyMotor; result.KWHMotor = state.KWHMotor; result.TimeMTNHour = state.TimeMTNHour; result.TimeMTNMin = state.TimeMTNMin; result.TimeMTNSec = state.TimeMTNSec; result.LEDIDELRate = (int?)state.LEDIDELRate; result.KW1 = state.KW1; result.KW2 = state.KW2; result.KW3 = state.KW3; return(result); }
public PumpStateModel2Model GetPumpStateModel2(Guid pumpId) { var pump = pumpRepository.GetAll().Where(t => t.IsActive == true && t.Id == pumpId).FirstOrDefault(); if (pump == null) { throw new DataValidationException("Pump not found or inactive."); } var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel2Mongo>(); var state = collection.Find(t => t.PumpId == pumpId.ToString()) .SortByDescending(t => t.DateAndTime).FirstOrDefault(); if (state == null) { //throw new DataValidationException("State data not found"); return(new PumpStateModel2Model()); } var result = new PumpStateModel2Model(); result.PumpId = Guid.Parse(state.PumpId); result.IndexNo = (int)state.IndexNo; result.DateAndTime = state.DateAndTime; result.Status = state.Status; result.LEDEngine = state.LEDEngine; result.StatusBar = state.StatusBar; result.Speed = state.Speed; result.FuelLevel = state.FuelLevel; result.Battery = state.Battery; result.OilPressure = state.OilPressure; result.Charge = state.Charge; result.Frequency = state.Frequency; result.KWh = state.KWh; result.Temperature = state.Temperature; result.Pressure = state.Pressure; result.Vibration = state.Vibration; result.FlowMeter = state.FlowMeter; result.TimeMTNHour = state.TimeMTNHour; result.TimeMTNMin = state.TimeMTNMin; result.TimeMTNSec = state.TimeMTNSec; result.LEDOffFuel = state.LEDOffFuel; return(result); }
private PumpStateModel2Model GetPumpStateModel2(Pump pump) { var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel2Mongo>(); var state = collection.Find(t => t.PumpId == pump.Id.ToString()) .SortByDescending(t => t.DateAndTime).FirstOrDefault(); if (state == null) { return(new PumpStateModel2Model()); } var result = new PumpStateModel2Model(); result.PumpId = Guid.Parse(state.PumpId); result.IndexNo = (int)state.IndexNo; result.DateAndTime = state.DateAndTime; result.Status = state.Status; result.LEDEngine = state.LEDEngine; result.StatusBar = state.StatusBar; result.Speed = state.Speed; result.FuelLevel = state.FuelLevel; result.Battery = state.Battery; result.OilPressure = state.OilPressure; result.Charge = state.Charge; result.Frequency = state.Frequency; result.KWh = state.KWh; result.Temperature = state.Temperature; result.Pressure = state.Pressure; result.Vibration = state.Vibration; result.FlowMeter = state.FlowMeter; result.TimeMTNHour = state.TimeMTNHour; result.TimeMTNMin = state.TimeMTNMin; result.TimeMTNSec = state.TimeMTNSec; result.LEDOffFuel = state.LEDOffFuel; return(result); }
private void SyncData(PumpConnectionData pumpConnection) { try { var db = new ControlRoomMongoContext().GetDatabase(); DateTime maxdatetime = DateTime.Now.AddDays(-3); if (pumpConnection.PumpModelId == PumpModelResource.Generator) { if (db.GetCollection <PumpStateModel1Mongo>().Find(t => t.PumpId == pumpConnection.PumpId.ToString()).Any()) { maxdatetime = db.GetCollection <PumpStateModel1Mongo>().Find(t => t.PumpId == pumpConnection.PumpId.ToString()).Sort("{DateAndTime: -1}").FirstOrDefault().DateAndTime; } maxdatetime = maxdatetime.ToLocalTime(); var query = $"select * from {pumpConnection.DatabaseNaming} where DateAndTime > @p0 and DateAndTime < (select max(DateAndTime) from {pumpConnection.DatabaseNaming})"; var stateData = SQLHelper.Query(pumpConnection.ConnectionString, query, maxdatetime).Tables[0]; var entities = new List <PumpStateModel1Mongo>(); foreach (var dr in stateData.Select()) { var pumpState = new PumpStateModel1Mongo(); pumpState.PumpId = pumpConnection.PumpId.ToString(); pumpState.DateAndTime = SQLHelper.TryGetValue <DateTime>(dr, "DateAndTime"); pumpState.IndexNo = SQLHelper.TryGetValue <int>(dr, "INDEX"); pumpState.StatusGen = SQLHelper.TryGetValue <bool?>(dr, "Status_Gen"); pumpState.StatusMotor = SQLHelper.TryGetValue <bool?>(dr, "Status_Motor"); pumpState.StatusBarGen = SQLHelper.TryGetValue <int?>(dr, "Status_Bar_Gen"); pumpState.LEDGen = SQLHelper.TryGetValue <bool?>(dr, "LED_Gen"); pumpState.StatusBarMotor = SQLHelper.TryGetValue <int?>(dr, "Status_Bar_Motor"); pumpState.LEDMotor = SQLHelper.TryGetValue <bool?>(dr, "LED_Motor"); pumpState.L1NGen = SQLHelper.TryGetValue <double?>(dr, "L1_N_Gen"); pumpState.L2NGen = SQLHelper.TryGetValue <double?>(dr, "L2_N_Gen"); pumpState.L3NGen = SQLHelper.TryGetValue <double?>(dr, "L3_N_Gen"); pumpState.TempGen = SQLHelper.TryGetValue <double?>(dr, "Temp_Gen"); pumpState.L1L2Gen = SQLHelper.TryGetValue <double?>(dr, "L1_L2_Gen"); pumpState.L2L3Gen = SQLHelper.TryGetValue <double?>(dr, "L2_L3_Gen"); pumpState.L3L1Gen = SQLHelper.TryGetValue <double?>(dr, "L3_L1_Gen"); pumpState.SpeedGen = SQLHelper.TryGetValue <double?>(dr, "Speed_Gen"); pumpState.Fuel = SQLHelper.TryGetValue <double?>(dr, "Fuel"); pumpState.Battery = SQLHelper.TryGetValue <double?>(dr, "Battery"); pumpState.Oil = SQLHelper.TryGetValue <double?>(dr, "Oil"); pumpState.Charge = SQLHelper.TryGetValue <double?>(dr, "Charge"); pumpState.FrequencyGen = SQLHelper.TryGetValue <double?>(dr, "Frequency_Gen"); pumpState.KWHGen = SQLHelper.TryGetValue <double?>(dr, "kWh_Gen"); pumpState.P1NMotor = SQLHelper.TryGetValue <double?>(dr, "P1_N_Motor"); pumpState.P2NMotor = SQLHelper.TryGetValue <double?>(dr, "P2_N_Motor"); pumpState.P3NMotor = SQLHelper.TryGetValue <double?>(dr, "P3_N_Motor"); pumpState.TempMotor = SQLHelper.TryGetValue <double?>(dr, "Temp_Motor"); pumpState.AmpL1 = SQLHelper.TryGetValue <double?>(dr, "Amp_L1"); pumpState.AmpL2 = SQLHelper.TryGetValue <double?>(dr, "Amp_L2"); pumpState.AmpL3 = SQLHelper.TryGetValue <double?>(dr, "Amp_L3"); pumpState.SpeedMotor = SQLHelper.TryGetValue <double?>(dr, "Speed_Motor"); pumpState.Pressure = SQLHelper.TryGetValue <double?>(dr, "Pressure"); pumpState.Vibration = SQLHelper.TryGetValue <double?>(dr, "Vibration"); pumpState.Flow = SQLHelper.TryGetValue <double?>(dr, "Flow"); pumpState.FrequencyMotor = SQLHelper.TryGetValue <double?>(dr, "Frequency_Motor"); pumpState.KWHMotor = SQLHelper.TryGetValue <double?>(dr, "kWh_Motor"); pumpState.TimeMTNHour = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Hour"); pumpState.TimeMTNMin = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Min"); pumpState.TimeMTNSec = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Sec"); pumpState.LEDIDELRate = SQLHelper.TryGetValue <int?>(dr, "LED_IDEL_RATE"); pumpState.KW1 = SQLHelper.TryGetValue <double?>(dr, "kW1"); pumpState.KW2 = SQLHelper.TryGetValue <double?>(dr, "kW2"); pumpState.KW3 = SQLHelper.TryGetValue <double?>(dr, "kW3"); pumpState.TempOver = SQLHelper.TryGetValue <double?>(dr, "Temp_Over"); pumpState.CalibrationPressure = SQLHelper.TryGetValue <double?>(dr, "Calibration_Pressure"); pumpState.CalibrationFlow = SQLHelper.TryGetValue <double?>(dr, "Calibration_Flow"); pumpState.OverLoad = SQLHelper.TryGetValue <double?>(dr, "Over_Load"); pumpState.SetTimeMTN = SQLHelper.TryGetValue <double?>(dr, "Set_Time_MTN"); pumpState.CreatedBy = null; pumpState.CreatedDate = DateTime.Now; entities.Add(pumpState); //db.EngineStateModel1.Add(engineState); } if (entities.Any()) { db.GetCollection <PumpStateModel1Mongo>().InsertMany(entities); } //Console.WriteLine($"{engineConnection.EngineName} {entities.Count()} rows"); } else if (pumpConnection.PumpId == PumpModelResource.Engine) { if (db.GetCollection <PumpStateModel2Mongo>().Find(t => t.PumpId == pumpConnection.PumpId.ToString()).Any()) { maxdatetime = db.GetCollection <PumpStateModel2Mongo>().Find(t => t.PumpId == pumpConnection.PumpId.ToString()).Sort("{DateAndTime: -1}").FirstOrDefault().DateAndTime; } maxdatetime = maxdatetime.ToLocalTime(); var query = $"select * from {pumpConnection.DatabaseNaming} where DateAndTime > @p0 and DateAndTime < (select max(DateAndTime) from {pumpConnection.DatabaseNaming})"; var stateData = SQLHelper.Query(pumpConnection.ConnectionString, query, maxdatetime).Tables[0]; var entities = new List <PumpStateModel2Mongo>(); foreach (var dr in stateData.Select()) { var pumpState = new PumpStateModel2Mongo(); pumpState.PumpId = pumpConnection.PumpId.ToString(); pumpState.DateAndTime = SQLHelper.TryGetValue <DateTime>(dr, "DateAndTime"); pumpState.IndexNo = SQLHelper.TryGetValue <int>(dr, "INDEX"); pumpState.Status = SQLHelper.TryGetValue <double?>(dr, "Status"); pumpState.LEDEngine = SQLHelper.TryGetValue <bool?>(dr, "LED_Engine"); pumpState.StatusBar = SQLHelper.TryGetValue <int?>(dr, "Status_Bar"); pumpState.Speed = SQLHelper.TryGetValue <double?>(dr, "Speed"); pumpState.FuelLevel = SQLHelper.TryGetValue <double?>(dr, "Fuel_Level"); pumpState.Battery = SQLHelper.TryGetValue <double?>(dr, "Battery"); pumpState.OilPressure = SQLHelper.TryGetValue <double?>(dr, "Oil_Pressure"); pumpState.Charge = SQLHelper.TryGetValue <double?>(dr, "Charge"); pumpState.Frequency = SQLHelper.TryGetValue <double?>(dr, "Frequency"); pumpState.KWh = SQLHelper.TryGetValue <double?>(dr, "kWh"); pumpState.Temperature = SQLHelper.TryGetValue <double?>(dr, "Temperature"); pumpState.Pressure = SQLHelper.TryGetValue <double?>(dr, "Pressure"); pumpState.Vibration = SQLHelper.TryGetValue <double?>(dr, "Vibration"); pumpState.FlowMeter = SQLHelper.TryGetValue <double?>(dr, "Flow_Meter"); pumpState.TimeMTNHour = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Hour"); pumpState.TimeMTNMin = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Min"); pumpState.TimeMTNSec = SQLHelper.TryGetValue <double?>(dr, "Time_MTN_Sec"); pumpState.LEDOffFuel = SQLHelper.TryGetValue <double?>(dr, "LED_Off_Fuel"); pumpState.CheckFuelLevel = SQLHelper.TryGetValue <double?>(dr, "Check_Fuel_Level"); pumpState.CalibrationPressure = SQLHelper.TryGetValue <double?>(dr, "Calibration_Pressure"); pumpState.CalibrationFlow = SQLHelper.TryGetValue <double?>(dr, "Calibration_Flow"); pumpState.SpeedOver = SQLHelper.TryGetValue <double?>(dr, "Speed_Over"); pumpState.SetTimeMTN = SQLHelper.TryGetValue <double?>(dr, "Set_Time_MTN"); pumpState.CreatedBy = null; pumpState.CreatedDate = DateTime.Now; // db.EngineStateModel2.Add(engineState); entities.Add(pumpState); } if (entities.Any()) { db.GetCollection <PumpStateModel2Mongo>().InsertMany(entities); } //Console.WriteLine($"{engineConnection.EngineName} {entities.Count()} rows"); } } catch (Exception ex) { logger.Error(ex, $"Error while syncing data {pumpConnection.PumpName}."); } }
public PumpStateModel1Model GetPumpStateModel1(Guid pumpId) { var pump = pumpRepository.GetAll().Where(t => t.IsActive == true && t.Id == pumpId).FirstOrDefault(); if (pump == null) { throw new DataValidationException("Pump not found or inactive."); } var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel1Mongo>(); var state = collection.Find(t => t.PumpId == pumpId.ToString()) .SortByDescending(t => t.DateAndTime).FirstOrDefault(); if (state == null) { //throw new DataValidationException("State data not found"); return(new PumpStateModel1Model()); } var result = new PumpStateModel1Model(); result.PumpId = Guid.Parse(state.PumpId); result.IndexNo = (int)state.IndexNo; result.DateAndTime = state.DateAndTime; result.StatusGen = state.StatusGen; result.StatusMotor = state.StatusMotor; result.StatusBarGen = (int?)state.StatusBarGen; result.LEDGen = state.LEDGen; result.StatusBarMotor = (int?)state.StatusBarMotor; result.LEDMotor = state.LEDMotor; result.L1NGen = state.L1NGen; result.L2NGen = state.L2NGen; result.L3NGen = state.L3NGen; result.TempGen = state.TempGen; result.L1L2Gen = state.L1L2Gen; result.L2L3Gen = state.L2L3Gen; result.L3L1Gen = state.L3L1Gen; result.SpeedGen = state.SpeedGen; result.Fuel = state.Fuel; result.Battery = state.Battery; result.Oil = state.Oil; result.Charge = state.Charge; result.FrequencyGen = state.FrequencyGen; result.KWHGen = state.KWHGen; result.P1NMotor = state.P1NMotor; result.P2NMotor = state.P2NMotor; result.P3NMotor = state.P3NMotor; result.TempMotor = state.TempMotor; result.AmpL1 = state.AmpL1; result.AmpL2 = state.AmpL2; result.AmpL3 = state.AmpL3; result.SpeedMotor = state.SpeedMotor; result.Pressure = state.Pressure; result.Vibration = state.Vibration; result.Flow = state.Flow; result.FrequencyMotor = state.FrequencyMotor; result.KWHMotor = state.KWHMotor; result.TimeMTNHour = state.TimeMTNHour; result.TimeMTNMin = state.TimeMTNMin; result.TimeMTNSec = state.TimeMTNSec; result.LEDIDELRate = (int?)state.LEDIDELRate; result.KW1 = state.KW1; result.KW2 = state.KW2; result.KW3 = state.KW3; return(result); }