public static void CapacityCheck(Room r) { TermDao tDao = new TermDao(); ReservationDao resDao = new ReservationDao(); IList <Term> terms = tDao.GetTermsByRoom(r); foreach (Term t in terms) { //pokud je u nektereho terminu nastavena vetsi kapacita nez je nova maximalni kapacita mistnosti, zmen kapacitu terminu na max.kapacitu mistnosti if (r.MaxCapacity < t.Capacity && t.EndTerm > DateTime.Now) { int uCount = r.MaxCapacity - (t.Capacity - tDao.GetActualCapacity(t)); //pokud je prihlaseno vice lidi nez nova max.kapacita mistnosti, odstran rezervace poslednich prihlasenych if (uCount > 0) { IList <Reservation> reservations = resDao.GetLastReservationByTerm(t, uCount); foreach (Reservation res in reservations) { resDao.Delete(res); } } t.Capacity = r.MaxCapacity; tDao.Update(t); } } }
//rezervace se bude zadavat v planu terminu //[HttpPost] public ActionResult Add(int termId) { try { Reservation r = new Reservation(); ReservationDao rDao = new ReservationDao(); TermDao tDao = new TermDao(); UserDao uDao = new UserDao(); r.Term = tDao.GetById(termId); r.User = uDao.GetByLogin(User.Identity.Name); r.ReservationTime = DateTime.Now; if (tDao.GetActualCapacity(r.Term) > 0 && rDao.ReservationExist(r.Term, r.User) == false) { rDao.Create(r); TempData["succes"] = "Termín úspěšně rezervován."; } else if (tDao.GetActualCapacity(r.Term) <= 0) { TempData["warning"] = "Termín je již plně obsazen."; } else if (rDao.ReservationExist(r.Term, r.User) != false) { TempData["warning"] = "Termín již máte rezervovaný."; } } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("Index", "Term")); }
public ActionResult Delete(int id) { try { TermDao tDao = new TermDao(); Term t = tDao.GetById(id); //je treba smazat i vsechny rezervace daneho terminu ReservationDao resDao = new ReservationDao(); IList <Reservation> reservations = resDao.GetAllReservationsByTerm(t); foreach (Reservation res in reservations) { resDao.Delete(res); } tDao.Delete(t); TempData["succes"] = "Termín i jeho rezervace jsou úspěšně smazány."; } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("Index")); }
//pridat upozorneni pro vypsane teminy public ActionResult Delete(int id) { try { RoomDao rDao = new RoomDao(); Room r = rDao.GetById(id); //je zapotřebí smazat nejdrive vsechny terminy v teto mistnosti, a take rezervace na tyto terminy TermDao tDao = new TermDao(); ReservationDao resDao = new ReservationDao(); IList <Term> terms = tDao.GetTermsByRoom(r); foreach (Term t in terms) { IList <Reservation> reservations = resDao.GetAllReservationsByTerm(t); foreach (Reservation res in reservations) { resDao.Delete(res); } tDao.Delete(t); } rDao.Delete(r); TempData["succes"] = "Místnost " + r.Name + " byla odstraněna, stejně tak i všechny termíny v této místnosti."; } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("Index")); }
public ActionResult Delete(int id) { try { UserDao uDao = new UserDao(); AddressDao aDao = new AddressDao(); FitnessUser fitnessUser = uDao.GetById(id); Address address = new Address(); address = fitnessUser.Address; //pokud se jedná o trenéra, je třeba smazat jeho termíny, které vede if (fitnessUser.Role.Name == "Trenér") { TermDao tDao = new TermDao(); IList <Term> terms = tDao.GetTermsByTrainer(fitnessUser); foreach (Term t in terms) { tDao.Delete(t); } }//pokud se jedna o zakaznika, je treba smazat rezervace, na ktere je zapsan else if (fitnessUser.Role.Name == "Zákazník") { ReservationDao rDao = new ReservationDao(); IList <Reservation> reservations = rDao.GetAllReservationsByUser(fitnessUser); foreach (Reservation r in reservations) { rDao.Delete(r); } } if (fitnessUser.SmallImageName != null) { System.IO.File.Delete(Server.MapPath("~/Uploads/FitnessUser/" + fitnessUser.SmallImageName)); } if (fitnessUser.BigImageName != null) { System.IO.File.Delete(Server.MapPath("~/Uploads/FitnessUser/" + fitnessUser.BigImageName)); } uDao.Delete(fitnessUser); aDao.Delete(address); TempData["succes"] = "Uživatelský účet byl odstraněn."; if (fitnessUser.Login == User.Identity.Name) { return(RedirectToAction("Logout", "Home")); } return(RedirectToAction("Index", "Home")); } catch (Exception e) { Console.WriteLine(e); throw; } }
// GET: Term public ActionResult Index() { TermDao tDao = new TermDao(); IList <Term> terms = tDao.GetNewTerms(); ViewBag.Mark = "Term"; return(View(terms)); }
public ActionResult Edit(int id) { TermDao tDao = new TermDao(); ViewBag.Rooms = new RoomDao().GetAll(); ViewBag.Activities = new ActivityDao().GetAll(); ViewBag.Start = tDao.GetById(id).StartTerm; ViewBag.TimeLong = (int)(tDao.GetById(id).EndTerm.Subtract(tDao.GetById(id).StartTerm).Minutes); ViewBag.Mark = "Term"; return(View(tDao.GetById(id))); }
// GET: Admin/Term public ActionResult Index(int?currentTerms) { int curT = currentTerms ?? 1; TermDao tDao = new TermDao(); IList <Term> terms = null; UserDao uDao = new UserDao(); FitnessUser u = uDao.GetByLogin(User.Identity.Name); if (u.Role.Name == "Trenér" && curT == 0) { terms = tDao.GetOldTermsByTrainer(u); } else if (u.Role.Name == "Trenér" && curT == 1) { terms = tDao.GetNewTermsByTrainer(u); } else if (u.Role.Name == "Ředitel" && curT == 0) { terms = tDao.GetOldTerms(); } else // pro zakaznazniky, udrzbare i pro if (u.Role.Name == "Ředitel" && curT == 1) plati ze se zobrazi vsechny aktualni terminy { terms = tDao.GetNewTerms(); } ViewBag.CurrentTerm = curT; ViewBag.Mark = "Term"; if (Request.IsAjaxRequest()) { if (u.Role.Name == "Zákazník" || u.Role.Name == "Údržbář") { return(PartialView("CustomerIndex", terms)); } return(PartialView(terms)); } else { if (u.Role.Name == "Zákazník" || u.Role.Name == "Údržbář") { return(View("CustomerIndex", terms)); } return(View(terms)); } }
public ActionResult Delete(int id) { try { ActivityDao aDao = new ActivityDao(); Activity a = aDao.GetById(id); if (a.SmallImageName != null) { System.IO.File.Delete(Server.MapPath("~/Uploads/Activity/" + a.SmallImageName)); } if (a.BigImageName != null) { System.IO.File.Delete(Server.MapPath("~/Uploads/Activity/" + a.BigImageName)); } //je zapotřebí smazat nejdrive vsechny terminy na tuto aktivitu, a take rezervace na tyto terminy TermDao tDao = new TermDao(); ReservationDao resDao = new ReservationDao(); IList <Term> terms = tDao.GetTermsByActivity(a); foreach (Term t in terms) { IList <Reservation> reservations = resDao.GetAllReservationsByTerm(t); foreach (Reservation res in reservations) { resDao.Delete(res); } tDao.Delete(t); } aDao.Delete(a); TempData["succes"] = "Aktivita " + a.Name + " úspěšně smazána. Stejně tak i všechny termíny na tuto akci."; } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("Index")); }
public ActionResult Add(Term term, int activityId, int roomId, int timeLong) { try { if (ModelState.IsValid) { TermDao tDao = new TermDao(); ActivityDao aDao = new ActivityDao(); RoomDao rDao = new RoomDao(); UserDao uDao = new UserDao(); DateTime end = term.StartTerm.AddMinutes((double)timeLong); if (term.StartTerm.Hour < 7 || term.StartTerm.Hour > 21 || end.Hour < 7 || end.Hour > 21) { TempData["error"] = "Termín nebyl úspěšně přidán. Termín musí být založen v otevíracích hodinách (7:00 až 20:59)."; return(RedirectToAction("Create", new { term })); } if (term.StartTerm > end) { TempData["error"] = "Termín nebyl úspěšně přidán. Konec termínu je dřív než jeho začátek."; return(RedirectToAction("Create", new { term })); } term.EndTerm = end; term.Activity = aDao.GetById(activityId); term.Room = rDao.GetById(roomId); term.Trainer = uDao.GetByLogin(User.Identity.Name); ViewBag.Rooms = new RoomDao().GetAll(); ViewBag.Activities = new ActivityDao().GetAll(); //kontrola kapacity terminu if (term.Room.MaxCapacity >= term.Capacity) { IList <Term> termsInRoom = tDao.GetTermsByRoom(term.Room); bool validDates = true; //kontrola dostupnosti mistnosti ve zvoleny cas foreach (Term t in termsInRoom) { if ( (t.EndTerm > DateTime.Now) && //neukoncene terminy !( //zapor (t.StartTerm > term.StartTerm && t.StartTerm >= term.EndTerm) || //zacatek i konec terminu je pred zacatkem jineho terminu (t.EndTerm <= term.StartTerm && t.EndTerm < term.EndTerm) //zacatek i konec terminu je po konci jineho terminu ) ) { validDates = false; break; } } if (validDates == true) { tDao.Create(term); TempData["succes"] = "Termín úspěšně vytvořen."; } else { TempData["warning"] = "Časový plán termínu je v konfilktu s jiným termínem ve stejné místnosti."; return(View("Create", term)); } } else { TempData["warning"] = "Maximální kapacita místnosti je menší než kapacita vytvářeného termínu."; return(View("Create", term)); } } else { return(View("Create", term)); } } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("Index")); }