public ActionResult MountValve_System(string hsID, int valveID, string returnURL, string noFilter, string adrFilter) { //прореверим, что пользователь отметил в окне нужный ТП if (hsID==null) { return RedirectToAction("MountValveHSFilter", "Infrastructure", new { returnURL = returnURL, valveID = valveID, HS_No_Filter = noFilter, HS_Adress_Filter = adrFilter, modelError = "Не выбран объект" }); } //если ТП выбран, то переходим на шаг 2 MountValve_System_VM model = new MountValve_System_VM { HeatStation = repositorie.HeatStations.SingleOrDefault(hs => hs.HS_ID == hsID), Valve = repositorie.Valves.SingleOrDefault(v => v.V_ID == valveID), ReturnURL = returnURL, AvaliableSystems = repositorie.Asystems.Where(s => s.AS_Heat_Station == hsID && s.ASystem_Type.AST_NeedValve == 1 && s.AS_Valve == null), BusySystems = repositorie.Asystems.Where(s => s.AS_Heat_Station == hsID && s.ASystem_Type.AST_NeedValve == 1 && s.AS_Valve != null) }; return View(model); }
public ActionResult MountValve_Check(string hsID, System.Nullable<int> aSystemID, int valveID, string returnURL) { ModelState.Clear(); //проверка, что пользователь отметил нужную систему, и обработка ошибок триггеров сервера if (aSystemID == null) { ModelState.AddModelError("aSystemID", "Не выбрана система"); } if (ModelState.IsValid) { //проверка успешна try { ASystem system = repositorie.Asystems.SingleOrDefault(s => s.AS_ID == aSystemID); system.AS_Valve = valveID; repositorie.SaveASystem(system); } catch (Exception e) { ModelState.AddModelError("err", e.Message); } } if (ModelState.IsValid) { //операции успешны return Redirect(returnURL); } else { //неудача, возвращаемся на шаг 2 и отображаем ошибки модели MountValve_System_VM model = new MountValve_System_VM { HeatStation = repositorie.HeatStations.SingleOrDefault(hs => hs.HS_ID == hsID), Valve = repositorie.Valves.SingleOrDefault(v => v.V_ID == valveID), ReturnURL = returnURL, AvaliableSystems = repositorie.Asystems.Where(s => s.AS_Heat_Station == hsID && s.ASystem_Type.AST_NeedValve == 1 && s.AS_Valve == null), BusySystems = repositorie.Asystems.Where(s => s.AS_Heat_Station == hsID && s.ASystem_Type.AST_NeedValve == 1 && s.AS_Valve != null) }; return View("MountValve_System", model); } }