public ActionResult Create(SignalApplianceValue signalApplianceValue, FormCollection form) { ViewData["ValidationErrorMessage"] = String.Empty; if (this.FormCollectionIsValid(form, true)) { Dictionary<string, object> properties = new Dictionary<string, object>(); properties.Add("Signal.Id", int.Parse(form["SignalId"])); properties.Add("Appliance.Id", int.Parse(form["ApplianceId"])); IList<SignalAppliance> signalApplianceList = dbSA.GetByProperties(properties); if (!signalApplianceList.Any()) { SignalAppliance signalAppliance = new SignalAppliance(); signalAppliance.Signal = dbS.GetById(int.Parse(form["SignalId"])); signalAppliance.Appliance = dbA.GetById(int.Parse(form["ApplianceId"])); dbSA.Save(signalAppliance); signalApplianceList = dbSA.GetByProperties(properties); } foreach (SignalAppliance item in signalApplianceList) { signalApplianceValue.SignalAppliance = item; signalApplianceValue.AlarmType = dbAT.GetById(int.Parse(form["AlarmTypeId"])); signalApplianceValue.Value = float.Parse(form["Value"]); properties = new Dictionary<string, object>(); properties.Add("SignalAppliance.Id", item.Id); properties.Add("AlarmType.Id", dbAT.GetById(signalApplianceValue.AlarmType.Id).Id); if (!db.GetByProperties(properties).Any()) { db.Save(signalApplianceValue); List<Object> logList = new List<Object>(); logList.Add(log.GetNewLog(ConfigurationManager.AppSettings["CreateText"] + ControllerContext.RouteData.Values["controller"] + "(Id=" + signalApplianceValue.Id + ")", (int)EventTypes.Create, (int)Session["UserId"])); log.Write(logList); return RedirectToAction("Index"); } else { ViewData["ValidationErrorMessage"] = ConfigurationManager.AppSettings["DuplicatedRecordErrorMessage"].ToString(); } } } ViewBag.ApplianceId = !String.IsNullOrEmpty(form["ApplianceId"]) ? new SelectList(dbA.GetAll(), "Id", "NameAppliance", form["ApplianceId"]) : new SelectList(dbA.GetAll(), "Id", "NameAppliance"); ViewBag.SignalId = !String.IsNullOrEmpty(form["SignalId"]) ? new SelectList(dbS.GetAll(), "Id", "Name", form["SignalId"]) : new SelectList(dbS.GetAll(), "Id", "Name"); ViewBag.AlarmTypeId = !String.IsNullOrEmpty(form["AlarmTypeId"]) ? new SelectList(dbAT.GetAll(), "Id", "NameAlarmType", form["AlarmTypeId"]) : new SelectList(dbAT.GetAll(), "Id", "NameAlarmType"); return View(); }
public void CanCreateSignalApplianceAndValues() { IRepository<Area> repoT = new AreaRepository(); Area area = new Area(); area = repoT.GetById(1); IRepository<AlarmType> repoAT = new AlarmTypeRepository(); AlarmType alarm = new AlarmType(); alarm = repoAT.GetById(1); IRepository<Signal> repoA = new SignalRepository(); Signal signal = new Signal(); signal.Name = "PruebaSenal"; signal.Description = "Prueba descriptiva senal"; repoA.Save(signal); IRepository<Appliance> repoB = new ApplianceRepository(); Appliance appliance = new Appliance(); appliance.NameAppliance = "PruebaAppliance"; appliance.Description = "Prueba descriptiva appliance"; appliance.Area = area; SignalAppliance signalAppliance = new SignalAppliance(); signalAppliance.Signal = signal; signalAppliance.Appliance = appliance; appliance.Signals.Add(signalAppliance); repoB.Save(appliance); IRepository<SignalApplianceValue> repoSAV = new SignalApplianceValueRepository(); SignalApplianceValue signalApplianceValue = new SignalApplianceValue(); signalApplianceValue.Value = 40; signalApplianceValue.SignalAppliance = signalAppliance; signalApplianceValue.AlarmType = alarm; repoSAV.Save(signalApplianceValue); }
private void updateSignalApplianceValues(SignalAppliance signalAppliance, float setPoint , bool exists) { int normalAlarmTypeId = int.Parse(ConfigurationManager.AppSettings["NormalAlarmId"].ToString()); int highAlarmTypeId = int.Parse(ConfigurationManager.AppSettings["HighAlarmId"].ToString()); int lowAlarmTypeId = int.Parse(ConfigurationManager.AppSettings["LowAlarmId"].ToString()); if (exists) { IList<SignalApplianceValue> saValues = dbSAppV.GetByProperty("SignalAppliance.Id", signalAppliance.Id); foreach (SignalApplianceValue saValue in saValues) { if (saValue.AlarmType.Id == normalAlarmTypeId) { saValue.Value = setPoint; } else if (saValue.AlarmType.Id == highAlarmTypeId) { saValue.Value = setPoint + signalAppliance.Tolerance; } else if (saValue.AlarmType.Id == lowAlarmTypeId) { saValue.Value = setPoint - signalAppliance.Tolerance; } dbSAppV.Update(saValue); } } else { SignalApplianceValue normalValue = new SignalApplianceValue(); normalValue.SignalAppliance = signalAppliance; normalValue.AlarmType = dbAT.GetById(normalAlarmTypeId); normalValue.Value = setPoint; SignalApplianceValue highValue = new SignalApplianceValue(); highValue.SignalAppliance = signalAppliance; highValue.AlarmType = dbAT.GetById(highAlarmTypeId); highValue.Value = setPoint + signalAppliance.Tolerance; SignalApplianceValue lowValue = new SignalApplianceValue(); lowValue.SignalAppliance = signalAppliance; lowValue.AlarmType = dbAT.GetById(lowAlarmTypeId); lowValue.Value = setPoint - signalAppliance.Tolerance; dbSAppV.Save(normalValue); dbSAppV.Save(highValue); dbSAppV.Save(lowValue); } }
public void CanCreateSignalWithToleranceAndAssociatedSignalApplianceValues() { IRepository<Area> repoT = new AreaRepository(); Area area = new Area(); area = repoT.GetById(1); IRepository<AlarmType> repoAT = new AlarmTypeRepository(); AlarmType normalAlarm = new AlarmType(); normalAlarm = repoAT.GetById(1); AlarmType highAlarm = new AlarmType(); highAlarm = repoAT.GetById(2); AlarmType lowAlarm = new AlarmType(); lowAlarm = repoAT.GetById(3); IRepository<Signal> repoA = new SignalRepository(); Signal signal = new Signal(); signal.Name = "PruebaSenal"; signal.Description = "Prueba descriptiva senal"; repoA.Save(signal); IRepository<Appliance> repoB = new ApplianceRepository(); Appliance appliance = new Appliance(); appliance.NameAppliance = "PruebaAppliance"; appliance.Description = "Prueba descriptiva appliance"; appliance.Area = area; IRepository<SignalAppliance> repoSAppl = new SignalApplianceRepository(); SignalAppliance signalAppliance = new SignalAppliance(); signalAppliance.Signal = signal; signalAppliance.Appliance = appliance; signalAppliance.Tolerance = SIGNAL_APPLIANCE_TOLERANCE; appliance.Signals.Add(signalAppliance); IRepository<SignalApplianceValue> repoSApplV = new SignalApplianceValueRepository(); SignalApplianceValue normalValue = new SignalApplianceValue(); normalValue.AlarmType = normalAlarm; normalValue.SignalAppliance = signalAppliance; normalValue.Value = SIGNAL_APPLIANCE_SET_POINT; SignalApplianceValue highValue = new SignalApplianceValue(); highValue.AlarmType = highAlarm; highValue.SignalAppliance = signalAppliance; highValue.Value = SIGNAL_APPLIANCE_SET_POINT + SIGNAL_APPLIANCE_TOLERANCE; SignalApplianceValue lowValue = new SignalApplianceValue(); lowValue.AlarmType = lowAlarm; lowValue.SignalAppliance = signalAppliance; lowValue.Value = SIGNAL_APPLIANCE_SET_POINT - SIGNAL_APPLIANCE_TOLERANCE; signalAppliance.SignalApplianceValues.Add(normalValue); signalAppliance.SignalApplianceValues.Add(highValue); signalAppliance.SignalApplianceValues.Add(lowValue); repoB.Save(appliance); SignalApplianceValue createdNormalValue = repoSApplV.GetById(normalValue.Id); Assert.AreEqual(normalValue.Value, createdNormalValue.Value); SignalApplianceValue createdHighValue = repoSApplV.GetById(highValue.Id); Assert.AreEqual(highValue.Value, createdHighValue.Value); SignalApplianceValue createdLowValue = repoSApplV.GetById(lowValue.Id); Assert.AreEqual(lowValue.Value, createdLowValue.Value); repoSApplV.Delete(normalValue.Id); repoSApplV.Delete(highValue.Id); repoSApplV.Delete(lowValue.Id); repoSAppl.Delete(signalAppliance.Id); repoB.Delete(appliance.Id); repoA.Delete(signal.Id); }
public void ListSignalAppliancesWithAlarmTypesAndValuesInOneRecord() { IRepository<SignalAppliance> dbSA = new SignalApplianceRepository(); IRepository<Signal> dbS = new SignalRepository(); IRepository<Appliance> dbApp = new ApplianceRepository(); IRepository<SignalApplianceValue> dbSAppV = new SignalApplianceValueRepository(); IRepository<AlarmType> dbAT = new AlarmTypeRepository(); IRepository<Area> dbA = new AreaRepository(); Area area = new Area(); area = dbA.GetById(1); AlarmType normalAlarm = new AlarmType(); normalAlarm = dbAT.GetById(1); AlarmType highAlarm = new AlarmType(); highAlarm = dbAT.GetById(2); AlarmType lowAlarm = new AlarmType(); lowAlarm = dbAT.GetById(3); Signal signal = new Signal(); signal.Name = "PruebaSenal"; signal.Description = "Prueba descriptiva senal"; dbS.Save(signal); Appliance appliance = new Appliance(); appliance.NameAppliance = "PruebaAppliance"; appliance.Description = "Prueba descriptiva appliance"; appliance.Area = area; SignalAppliance signalAppliance = new SignalAppliance(); signalAppliance.Signal = signal; signalAppliance.Appliance = appliance; signalAppliance.Tolerance = SIGNAL_APPLIANCE_TOLERANCE; appliance.Signals.Add(signalAppliance); SignalApplianceValue normalValue = new SignalApplianceValue(); normalValue.AlarmType = normalAlarm; normalValue.SignalAppliance = signalAppliance; normalValue.Value = SIGNAL_APPLIANCE_SET_POINT; SignalApplianceValue highValue = new SignalApplianceValue(); highValue.AlarmType = highAlarm; highValue.SignalAppliance = signalAppliance; highValue.Value = SIGNAL_APPLIANCE_SET_POINT + SIGNAL_APPLIANCE_TOLERANCE; SignalApplianceValue lowValue = new SignalApplianceValue(); lowValue.AlarmType = lowAlarm; lowValue.SignalAppliance = signalAppliance; lowValue.Value = SIGNAL_APPLIANCE_SET_POINT - SIGNAL_APPLIANCE_TOLERANCE; signalAppliance.SignalApplianceValues.Add(normalValue); signalAppliance.SignalApplianceValues.Add(highValue); signalAppliance.SignalApplianceValues.Add(lowValue); dbApp.Save(appliance); var result = from sa in dbSA.GetAll() join s in dbS.GetAll() on sa.Signal.Id equals s.Id join app in dbApp.GetAll() on sa.Appliance.Id equals app.Id join sapv in dbSAppV.GetAll() on sa.Id equals sapv.SignalAppliance.Id join a in dbAT.GetAll() on sapv.AlarmType.Id equals a.Id where sa.Id.Equals(signalAppliance.Id) group new {a.Id, a.NameAlarmType, sapv.Value } by new {sa.Id, app.NameAppliance, s.Name, sa.Tolerance} into g select new { signalAppliance = g.Key, setPoint = from v in g where v.Id == 1 select v.Value, highValue = from v in g where v.Id == 2 select v.Value, lowValue = from v in g where v.Id == 3 select v.Value }; foreach (var sa in result) { Assert.AreEqual(sa.signalAppliance.Id, signalAppliance.Id); ObjectDumper.Write(sa.setPoint); Assert.AreEqual(normalValue.Value, sa.setPoint.ElementAtOrDefault(0)); ObjectDumper.Write(sa.highValue); Assert.AreEqual(highValue.Value, sa.highValue.ElementAtOrDefault(0)); ObjectDumper.Write(sa.lowValue); Assert.AreEqual(lowValue.Value, sa.lowValue.ElementAtOrDefault(0)); } dbSAppV.Delete(normalValue.Id); dbSAppV.Delete(highValue.Id); dbSAppV.Delete(lowValue.Id); dbSA.Delete(signalAppliance.Id); dbApp.Delete(appliance.Id); dbS.Delete(signal.Id); }
private SignalApplianceValue RemoveExtraSpaces(SignalApplianceValue signalappliancevalue) { //signalappliancevalue.Value = !String.IsNullOrWhiteSpace(signalappliancevalue.Value) ? signalappliancevalue.Value.Trim() : null; return signalappliancevalue; }
public ActionResult Edit(SignalApplianceValue signalApplianceValue, FormCollection form) { ViewData["ValidationErrorMessage"] = String.Empty; if (this.FormCollectionIsValid(form, false)) { SignalAppliance signalAppliance = dbSA.GetById(db.GetById(signalApplianceValue.Id).SignalAppliance.Id); if (signalAppliance != null) { signalAppliance.Signal = dbS.GetById(int.Parse(form["SignalId"])); signalAppliance.Appliance = dbA.GetById(int.Parse(form["ApplianceId"])); dbSA.Update(signalAppliance); List<Object> logList = new List<Object>(); logList.Add(log.GetNewLog(ConfigurationManager.AppSettings["EditText"] + ControllerContext.RouteData.Values["controller"] + "(Id=" + signalApplianceValue.Id + ")", (int)EventTypes.Edit, (int)Session["UserId"])); log.Write(logList); } else { signalAppliance = new SignalAppliance(); signalAppliance.Signal = dbS.GetById(int.Parse(form["SignalId"])); signalAppliance.Appliance = dbA.GetById(int.Parse(form["ApplianceId"])); dbSA.Save(signalAppliance); List<Object> logList = new List<Object>(); logList.Add(log.GetNewLog(ConfigurationManager.AppSettings["CreateText"] + ControllerContext.RouteData.Values["controller"] + "(Id=" + signalAppliance.Id + ")", (int)EventTypes.Create, (int)Session["UserId"])); log.Write(logList); } signalApplianceValue.SignalAppliance = signalAppliance; signalApplianceValue.AlarmType = dbAT.GetById(int.Parse(form["AlarmTypeId"])); signalApplianceValue.Value = float.Parse(form["Value"]); db.Update(signalApplianceValue); List<Object> logL = new List<Object>(); logL.Add(log.GetNewLog(ConfigurationManager.AppSettings["EditText"] + ControllerContext.RouteData.Values["controller"] + "(Id=" + signalApplianceValue.Id + ")", (int)EventTypes.Edit, (int)Session["UserId"])); log.Write(logL); return RedirectToAction("Index"); } ViewBag.ApplianceId = !String.IsNullOrEmpty(form["ApplianceId"]) ? new SelectList(dbA.GetAll(), "Id", "NameAppliance", form["ApplianceId"]) : new SelectList(dbA.GetAll(), "Id", "NameAppliance"); ViewBag.SignalId = !String.IsNullOrEmpty(form["SignalId"]) ? new SelectList(dbS.GetAll(), "Id", "Name", form["SignalId"]) : new SelectList(dbS.GetAll(), "Id", "Name"); ViewBag.AlarmTypeId = !String.IsNullOrEmpty(form["AlarmTypeId"]) ? new SelectList(dbAT.GetAll(), "Id", "NameAlarmType", form["AlarmTypeId"]) : new SelectList(dbAT.GetAll(), "Id", "NameAlarmType"); return View(); }