예제 #1
0
 public bool CreateReservation(string Describe, string Log, reservation_tariff tar)
 {
     bool Result = false;
     try
     {
         reservation r = new reservation();
         r.id_Reservation_Tariff = tar.id_Reservation_Tariff;
         r.Login = Log;
         r.Status = "Formed";
         r.Description = Describe;
         mp.reservation.Add(r);
         mp.SaveChanges();
         Result = true;
     }
     catch
     {
         Result = false;
     }
     return Result;
 }
예제 #2
0
 public ActionResult Change_reservation_tariff(reservation_tariff rt, Int32 id_reservation_tariff)
 {
     if (id_reservation_tariff != null)
     {
         if (ModelState.IsValid)
         {
         reservation_tariff oldforchange = mp.reservation_tariff.Where(x => x.id_Reservation_Tariff == id_reservation_tariff).FirstOrDefault();
         reservation_tariff old = mp.reservation_tariff.Where(x => x.id_Reservation_Tariff == id_reservation_tariff & x.PriceInRubForHourHightFreeTime == rt.PriceInRubForHourHightFreeTime & x.FirstFreeTimeInMinutes == rt.FirstFreeTimeInMinutes & x.ValidityPeriodFromTheTimeOfActivationInHour == rt.ValidityPeriodFromTheTimeOfActivationInHour).FirstOrDefault();
         if (old != null)
         {
                 ViewData["ReservationTariff"] = "Изменений не произошло!";
                 return View(old);
         }
         else
         {
             if (oldforchange.Status != "available")
             {
                 ViewData["ReservationTariff"] = "Этот тариф больше неактивен, применить к нему измененения невозможно!";
                 return View(old);
             }
             else
             {
                 //произвожу изменение статуса тарифа на not active в oldforchange
                 oldforchange.Status = "Not available";
                 mp.Entry(oldforchange).State = EntityState.Modified;
                 mp.SaveChanges();
                 reservation_tariff old2 = mp.reservation_tariff.Where(x =>x.PriceInRubForHourHightFreeTime == rt.PriceInRubForHourHightFreeTime & x.FirstFreeTimeInMinutes == rt.FirstFreeTimeInMinutes & x.ValidityPeriodFromTheTimeOfActivationInHour == rt.ValidityPeriodFromTheTimeOfActivationInHour).FirstOrDefault();
                 if (old2 != null)
                 {
                     if (old2.Status != "available")
                     {
                         old2.Status = "available";
                         mp.Entry(old2).State = EntityState.Modified;
                         mp.SaveChanges();
                     }
                 }
                 else
                 {
                     reservation_tariff rnew = new reservation_tariff();
                     rnew.Status = "available";
                     rnew.ValidityPeriodFromTheTimeOfActivationInHour = rt.ValidityPeriodFromTheTimeOfActivationInHour;
                     rnew.PriceInRubForHourHightFreeTime = rt.PriceInRubForHourHightFreeTime;
                     rnew.FirstFreeTimeInMinutes = rt.FirstFreeTimeInMinutes;
                     mp.reservation_tariff.Add(rnew);
                     mp.SaveChanges();
                 }
             }
         }
     }else return View();
     }
     return RedirectToAction("ReservationTariffs");
 }
예제 #3
0
        public ActionResult Save_reservation_tariff(reservation_tariff rt)
        {
            if (ModelState.IsValid)
            {
                reservation_tariff old = mp.reservation_tariff.Where(x => x.PriceInRubForHourHightFreeTime == rt.PriceInRubForHourHightFreeTime & x.FirstFreeTimeInMinutes == rt.FirstFreeTimeInMinutes & x.ValidityPeriodFromTheTimeOfActivationInHour == rt.ValidityPeriodFromTheTimeOfActivationInHour).FirstOrDefault();
                if (old != null)
                {
                    if (old.Status == rt.Status & rt.Status == "available")
                    {
                        ViewData["ReservationTariff"] = "Такой тариф уже существует и он активен";
                    }
                    else if (old.Status == rt.Status & rt.Status == "Not available")
                    {

                        reservation_tariff oldforchange = mp.reservation_tariff.Where(x => x.Status == "available").FirstOrDefault();
                        if (rt.Status == "available")
                        {
                            if (oldforchange != null)
                            {
                                oldforchange.Status = "Not available";
                                mp.Entry(oldforchange).State = EntityState.Modified;
                                mp.SaveChanges();
                            }
                        }

                        old.Status = rt.Status;
                        mp.Entry(old).State = EntityState.Modified;
                        mp.SaveChanges();
                    }
                }
                else
                {
                    reservation_tariff oldforchange = mp.reservation_tariff.Where(x => x.Status == "available").FirstOrDefault();
                    if (rt.Status == "available")
                    {
                        if (oldforchange != null)
                        {
                            oldforchange.Status = "Not available";
                            mp.Entry(oldforchange).State = EntityState.Modified;
                            mp.SaveChanges();
                        }
                    }

                    reservation_tariff rnew = new reservation_tariff();
                    rnew.Status = rt.Status;
                    rnew.ValidityPeriodFromTheTimeOfActivationInHour = rt.ValidityPeriodFromTheTimeOfActivationInHour;
                    rnew.PriceInRubForHourHightFreeTime = rt.PriceInRubForHourHightFreeTime;
                    rnew.FirstFreeTimeInMinutes = rt.FirstFreeTimeInMinutes;
                    mp.reservation_tariff.Add(rnew);
                    mp.SaveChanges();
                }
            }
            else return View();
            return RedirectToAction("ReservationTariffs");
        }