Пример #1
0
 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");
 }
Пример #2
0
        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");
        }
Пример #3
0
        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");
        }