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; }
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"); }
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"); }