public PumpModel1ParameterModel GetPumpModel1Parameter(Guid pumpId) { var result = new PumpModel1ParameterModel(); var mongoDB = new ControlRoomMongoContext().GetDatabase(); var collection = mongoDB.GetCollection <PumpStateModel1Mongo>(); 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.EngineCommand.Where(t => t.EngineId == engineId).FirstOrDefault(); if (pumpState != null) { result.Flow = pumpState.Flow; result.TempMotor = pumpState.TempMotor; result.Pressure = pumpState.Pressure; result.Flow = pumpState.Flow; result.OverLoad = pumpState.AmpL1; result.TimeMTNHour = pumpState.TimeMTNHour; result.TimeMTNMin = pumpState.TimeMTNMin; result.TimeMTNSec = pumpState.TimeMTNSec; result.TempOver = (int?)pumpState.TempOver; result.CalibrationPressure = (int?)pumpState.CalibrationPressure; result.CalibrationFlow = (int?)pumpState.CalibrationFlow; result.OverLoadMax = (int?)pumpState.OverLoad; result.SetTimeMTN = (int?)pumpState.SetTimeMTN; } result.PumpId = pumpId; return(result); }
public IActionResult UpdatePumpStateModel1Parameter(PumpModel1ParameterModel data) { if (!controlPumpService.CheckPermission(data.PumpId, PumpPermissionType.UpdateParameter)) { throw new PermissionDeniedException(); } controlPumpService.UpdatePumpStateModel1Parameter(data); return(Ok(new SuccessResult(null))); }
public void UpdatePumpStateModel1Parameter(PumpModel1ParameterModel data) { var pump = pumpRepository.GetAll().Include(t => t.Connection).Where(t => t.Id == data.PumpId && t.IsActive == true).FirstOrDefault(); if (pump == null) { throw new DataValidationException("Pump not found or inactive."); } if (pump.IsLock) { throw new DataValidationException("Pump is locked, Please contact administrator."); } //VerifyResourcePermission(pump.Id, OperationResource.ControlPump_UpdateParameter); var connection = pump.Connection; if (connection == null || string.IsNullOrEmpty(connection.DatabaseName) || string.IsNullOrEmpty(connection.Password) || string.IsNullOrEmpty(connection.Server) || string.IsNullOrEmpty(connection.Username)) { throw new DataValidationException("Connection data is not complete."); } if (!pump.PumpModelId.HasValue) { throw new DataValidationException("Unknown pump model."); } if (string.IsNullOrEmpty(pump.DatabaseNaming)) { throw new DataValidationException("Database naming is empty"); } var sb = new SqlConnectionStringBuilder(); sb.DataSource = connection.Server; sb.InitialCatalog = connection.DatabaseName; sb.IntegratedSecurity = false; sb.UserID = connection.Username; sb.Password = CryptoHelper.DecryptText(connection.Password); var connectionString = sb.ConnectionString; var sql = $"update Button set Button_Push = 1, Temp_Over_{pump.DatabaseNaming} = @p0, " + $"Calibration_Pressure_{pump.DatabaseNaming} = @p1, " + $"Calibration_Flow_{pump.DatabaseNaming} = @p2, " + $"Over_Load_{pump.DatabaseNaming} = @p3, " + $"Set_Time_MTN_{pump.DatabaseNaming} = @p4 "; SQLHelper.ExecuteNonQuery(connectionString, sql, data.TempOver, data.CalibrationPressure, data.CalibrationFlow, data.OverLoadMax, data.SetTimeMTN); }