public ActionResult Change_visit_parameters(visitparameters vp, Int32? id_vis_param) { if (id_vis_param != null) { if (ModelState.IsValid) { visitparameters oldforchange = mp.visitparameters.Where(x => x.id_vis_param == id_vis_param).FirstOrDefault(); if (oldforchange != null) { visitparameters old = mp.visitparameters.Where(x => x.id_vis_param == id_vis_param & x.FirstFreeTimeInMinutes == vp.FirstFreeTimeInMinutes & x.FirstFreeTimeOnChangeBalans == vp.FirstFreeTimeOnChangeBalans).FirstOrDefault(); if (old != null) { ViewData["VisitParameters"] = "Изменений не произошло!"; return View(old); } else { if (oldforchange.Status != "Active") { ViewData["VisitParameters"] = "Этот набор больше неактивен, применить к нему измененения невозможно!"; return View(old); } else { //произвожу изменение статуса тарифа на not active в oldforchange oldforchange.Status = "Not active"; mp.Entry(oldforchange).State = EntityState.Modified; mp.SaveChanges(); visitparameters old2 = mp.visitparameters.Where(x => x.FirstFreeTimeInMinutes == vp.FirstFreeTimeInMinutes & x.FirstFreeTimeOnChangeBalans == vp.FirstFreeTimeOnChangeBalans).FirstOrDefault(); if (old2 != null) { if (old2.Status != "Active") { old2.Status = "Active"; mp.Entry(old2).State = EntityState.Modified; mp.SaveChanges(); } } else { visitparameters vnew = new visitparameters(); vnew.Status = "Active"; vnew.FirstFreeTimeInMinutes = vp.FirstFreeTimeInMinutes; vnew.FirstFreeTimeOnChangeBalans = vp.FirstFreeTimeOnChangeBalans; mp.visitparameters.Add(vnew); mp.SaveChanges(); } } } } } else return View(); }return RedirectToAction("VisitParameters"); }
public ActionResult Off_parameters(Int32 id_vis_param) { visitparameters vp = mp.visitparameters.Where(x => x.id_vis_param == id_vis_param & x.FirstFreeTimeInMinutes != 0 & x.FirstFreeTimeOnChangeBalans !=0).FirstOrDefault(); if (vp != null) { vp.Status = "Not active"; mp.Entry(vp).State = EntityState.Modified; mp.SaveChanges(); } visitparameters nvis = mp.visitparameters.Where(x => x.FirstFreeTimeInMinutes==0 & x.FirstFreeTimeOnChangeBalans == 0).FirstOrDefault(); if (nvis != null) { nvis.Status = "Active"; mp.Entry(nvis).State = EntityState.Modified; mp.SaveChanges(); } else { visitparameters vnew = new visitparameters(); vnew.Status = "Active"; vnew.FirstFreeTimeInMinutes = 0; vnew.FirstFreeTimeOnChangeBalans = 0; mp.visitparameters.Add(vnew); mp.SaveChanges(); } return RedirectToAction("VisitParameters"); }
public ActionResult Save_visit_parameters(visitparameters vp) { //ViewData["VisitParameters"] = ""; //Наверное зедсь будет лучше если найдется запись с такими же параметрами в Not active, а создаваемые такие же будут Active, //Тогда перевести просто ту запись в Active. if (ModelState.IsValid) { visitparameters old = mp.visitparameters.Where(x => x.FirstFreeTimeInMinutes == vp.FirstFreeTimeInMinutes & x.FirstFreeTimeOnChangeBalans == vp.FirstFreeTimeOnChangeBalans).FirstOrDefault(); if (old != null) { if (old.Status == vp.Status & vp.Status == "Active") { ViewData["VisitParameters"] = "Такой тариф уже существует и он активен"; return View(vp); } else if (old.Status == vp.Status & vp.Status != "Active") { visitparameters oldforchange = mp.visitparameters.Where(x => x.Status == "Active").FirstOrDefault(); if (vp.Status == "Active") { if (oldforchange != null) { oldforchange.Status = "Not active"; mp.Entry(oldforchange).State = EntityState.Modified; mp.SaveChanges(); } } old.Status = vp.Status; mp.Entry(old).State = EntityState.Modified; mp.SaveChanges(); } } else { visitparameters oldforchange = mp.visitparameters.Where(x => x.Status == "Active").FirstOrDefault(); if (vp.Status == "Active") { if (oldforchange != null) { oldforchange.Status = "Not active"; mp.Entry(oldforchange).State = EntityState.Modified; mp.SaveChanges(); } } visitparameters vnew = new visitparameters(); vnew.Status = vp.Status; vnew.FirstFreeTimeInMinutes = vp.FirstFreeTimeInMinutes; vnew.FirstFreeTimeOnChangeBalans = vp.FirstFreeTimeOnChangeBalans; mp.visitparameters.Add(vnew); mp.SaveChanges(); } } else return View(); return RedirectToAction("VisitParameters"); }