public ActionResult Activate(int id) { FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser instructor = fitnessCentreUserDao.GetById(id); LessonDao lessonDao = new LessonDao(); IList <Lesson> listLessons = lessonDao.GetAll(); // Automatická aktivace všech lekcí daného instruktora, které se ještě neuskutečnily. foreach (Lesson lesson in listLessons) { // Porovnání CompareTo vrací hodnoty -1, 0, 1. Pokud aktuální čas je dřívěji než zahájení lekce. if (lesson.Instructor.Id == instructor.Id && DateTime.Now.CompareTo(lesson.StartTime) < 0) { lesson.IsActive = true; lessonDao.Update(lesson); } } TempData["message-success"] = "Účet instruktora " + instructor.FirstName + " " + instructor.LastName + " byl úspěšně aktivován."; // Aktivace účtu instruktora instructor.IsActive = true; fitnessCentreUserDao.Update(instructor); return(RedirectToAction("Index")); }
/// <summary> Akce pro zobrazení detailních informací o vybrané lekci. </summary> /// <param name="id"> Id lekce </param> public ActionResult Detail(int id) { LessonDao lessonDao = new LessonDao(); Lesson lesson = lessonDao.GetById(id); // Získání seznamu registrovaných klientů na vybranou lekci. FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); IList <FitnessCentreUser> listReservedClients = fitnessCentreUserDao.GetReservedClients(id); ViewBag.ListReservedClients = listReservedClients; FitnessCentreUser user = new FitnessCentreUserDao().GetByLogin(User.Identity.Name); if (Request.IsAjaxRequest() && user.Role.Identificator == "staff") { return(PartialView("DetailStaff", lesson)); } if (user.Role.Identificator == "staff") { return(View("DetailStaff", lesson)); } if (Request.IsAjaxRequest()) { return(PartialView("Detail", lesson)); } return(View("Detail", lesson)); }
// GET: /Admin/Instructors/ public ActionResult Index() { FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); IList <FitnessCentreUser> listInstructors = fitnessCentreUserDao.GetUsersByRole("instructor"); FitnessCentreUser user = fitnessCentreUserDao.GetByLogin(User.Identity.Name); // Lze smazat pouze instruktory, kteří nevypsali do systému žádnou lekci. if (user.Role.Identificator == "staff") { IList <Lesson> listLessons = new LessonDao().GetAll(); foreach (FitnessCentreUser instructor in listInstructors) { instructor.IsDeletable = true; // Pro jistotu předvyplnění vlastnosti. Zabránění null hodnotám. foreach (Lesson lesson in listLessons) { if (lesson.Instructor.Id == instructor.Id) { instructor.IsDeletable = false; // break; } } } } if (user.Role.Identificator == "staff") { return(View("IndexStaff", listInstructors)); } return(View("Index", listInstructors)); }
// GET: /Admin/SideBar/ public ActionResult EventsBarIndex() { LessonDao lessonDao = new LessonDao(); IList <Lesson> listLessons = lessonDao.GetRestrictedLessons(true); return(View(listLessons)); }
public ActionResult Deactivate(int id) { FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser instructor = fitnessCentreUserDao.GetById(id); LessonDao lessonDao = new LessonDao(); IList <Lesson> listLessons = lessonDao.GetAll(); // Automatická deaktivace všech lekcí daného instruktora foreach (Lesson lesson in listLessons) { if (lesson.Instructor.Id == instructor.Id) { lesson.IsActive = false; lessonDao.Update(lesson); } } TempData["message-success"] = "Účet instruktora " + instructor.FirstName + " " + instructor.LastName + " byl úspěšně deaktivován."; // Deaktivace účtu instruktora instructor.IsActive = false; fitnessCentreUserDao.Update(instructor); return(RedirectToAction("Index")); }
// GET: Admin/New public ActionResult Index(string searchString, int page = 1, int pageSize = 5) { var dao = new LessonDao(); var model = dao.ListAllPaging(searchString, page, pageSize); ViewBag.SearchString = searchString; return(View(model)); }
public ActionResult Reserve(int id) { // Získání instance vybrané lekce. LessonDao lessonDao = new LessonDao(); Lesson lesson = lessonDao.GetById(id); // Získání instance přihlášeného klienta. FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser user = fitnessCentreUserDao.GetByLogin(User.Identity.Name); // Ověření, zda lekce je aktivní (z důvodu času či aktivity instruktora). if (lesson.IsActive) { // Ověření, zda na lekci je volné místo pro registraci. if (lesson.ActualCapacity > 0) { // Ověření, zda má klient dostatečný kredit pro rezervaci aktivity. if (user.Credit >= lesson.ActivityType.Price) { // Nastavení parametrů rezervace. Reservation reservation = new Reservation(); reservation.ReservationTime = DateTime.Now; reservation.Lesson = lesson; reservation.Client = user; // Vložení rezervace do databáze. ReservationDao reservationDao = new ReservationDao(); reservationDao.Create(reservation); // Odečtení ceny aktivity z kreditu klienta a odečtení 1 volného místa z kapacity lekce. Update hodnot v databázi. user.Credit -= lesson.ActivityType.Price; fitnessCentreUserDao.Update(user); lesson.ActualCapacity -= 1; lessonDao.Update(lesson); TempData["message-success"] = "Lekce aktivity " + lesson.ActivityType.Name + " v " + lesson.StartTime.ToString("dddd d.M.") + " byla zarezervována."; return(RedirectToAction("Index", "Lessons", new { isActive = true })); } else { TempData["message-error"] = "Nemáte dostatek kreditu pro registraci na aktivitu " + lesson.ActivityType.Name + "."; return(RedirectToAction("Index", "Lessons", new { isActive = true })); } } else { TempData["message-error"] = "Na lekci není žádné volné místo."; return(RedirectToAction("Index", "Lessons", new { isActive = true })); } } else { TempData["message-error"] = "Lekce není aktivní."; return(RedirectToAction("Index", "Lessons", new { isActive = true })); } }
public JsonResult ChangeStatusLesson(long id) { var result = new LessonDao().ChangeStatusLesson(id); return(Json(new { status = result })); }
public ActionResult Edit(int id) { var lesson = new LessonDao().ViewDeatil(id); SetViewBags(); //SetViewBag(); SetViewBag1(); return(View(lesson)); }
// GET: Home public ActionResult Index() { var VideoDao = new VideoDao(); ViewBag.NewVideo = VideoDao.ListNewVideo(5); var model = new LessonDao(); ViewBag.NewLesson = model.ListAllLesson(); return(View()); }
public JsonResult ListName(string q) { var data = new LessonDao().ListName(q); return(Json(new { data = data, status = true }, JsonRequestBehavior.AllowGet)); }
public ActionResult Index(bool?isActive, int?page) { // Nastavení uskutečněných lekcí jako neaktivních LessonDao lessonDao = new LessonDao(); lessonDao.SetExpiredLessons(); // Tato proměnná by správně neměla být definována uvnitř controlleru, ale měla by to být konfigurační konstanta. const int itemsOnPage = 10; int pg = page.HasValue ? page.Value : 1; int totalClientsReservations; FitnessCentreUser user = new FitnessCentreUserDao().GetByLogin(User.Identity.Name); ReservationDao reservationDao = new ReservationDao(); // Větvení pro výběr uplynulých/aktivních či všech rezervací. IList <Reservation> listClientsReservationsPerPage; if (isActive.HasValue) { listClientsReservationsPerPage = reservationDao.GetRestrictedClientsReservationsPaged(isActive, user.Id, itemsOnPage, pg, out totalClientsReservations); } else { listClientsReservationsPerPage = reservationDao.GetClientsReservationsPaged(user.Id, itemsOnPage, pg, out totalClientsReservations); } ViewBag.CurrentIsActive = isActive; // Pamatovat si nastavení výběru uplynulých/aktivních lekcí. // Výpočet počtu stránek. ViewBag.Pages = (int)Math.Ceiling((double)totalClientsReservations / (double)itemsOnPage); ViewBag.CurrentPage = pg; // Rezervaci nelze zrušit 6h před zahájením lekce. foreach (Reservation reservation in listClientsReservationsPerPage) { DateTime sixHoursBeforeStart = reservation.Lesson.StartTime.AddHours(-6); // Výpočet času 6h před zahájením lekce. reservation.IsCancellable = true; // Pro jistotu předvyplnění vlastnosti. Zabránění null hodnotám. // Porovnání CompareTo vrací hodnoty -1, 0, 1. Pokud aktuální čas je v rozmezí 6 hodin před zahájením lekce a více. if (DateTime.Now.CompareTo(sixHoursBeforeStart) > 0) { reservation.IsCancellable = false; } } if (Request.IsAjaxRequest()) { return(PartialView(listClientsReservationsPerPage)); } else { return(View(listClientsReservationsPerPage)); } }
// GET: /Lessons/ /// <summary> Akce pro zobrazení seznamu lekcí vybrané aktivity </summary> /// <param name="isActive">výběr lekcí aktivních/uplynulých nebo všech (null)</param> /// <param name="activityTypeId">Id vybrané aktivity</param> /// <param name="page">číslo strany výpisu</param> public ActionResult Index(bool?isActive, int?activityTypeId, int?page) { // Nastavení uskutečněných lekcí jako neaktivních LessonDao lessonDao = new LessonDao(); lessonDao.SetExpiredLessons(); // Pro výpis labelů filtru aktivit. ViewBag.ActivityTypes = new ActivityTypeDao().GetAll(); const int itemsOnPage = 10; int pg = page.HasValue ? page.Value : 1; int totalLessons; // Větvení, zda je požadováno třídění dle aktivních/uplynulých či druhů aktivit lekcí. IList <Lesson> listLessonsPerPage; if (isActive.HasValue) { if (activityTypeId.HasValue) { listLessonsPerPage = lessonDao.GetRestrictedLessonsByActivityTypeIdPaged(activityTypeId, isActive, itemsOnPage, pg, out totalLessons); } else { listLessonsPerPage = lessonDao.GetRestrictedLessonsPaged(isActive, itemsOnPage, pg, out totalLessons); } } else { if (activityTypeId.HasValue) { listLessonsPerPage = lessonDao.GetLessonsByActivityTypeIdPaged(activityTypeId, itemsOnPage, pg, out totalLessons); } else { listLessonsPerPage = lessonDao.GetLessonsPaged(itemsOnPage, pg, out totalLessons); } } ViewBag.CurrentIsActive = isActive; // Pamatovat si nastavení výběru uplynulých/aktivních lekcí. ViewBag.CurrentActivityTypeId = activityTypeId; // Pamatovat si zvolený filtr při procházení stránek. ViewBag.Pages = (int)Math.Ceiling((double)totalLessons / (double)itemsOnPage); ViewBag.CurrentPage = pg; if (Request.IsAjaxRequest()) { return(PartialView("Index", listLessonsPerPage)); } return(View("Index", listLessonsPerPage)); }
/// <summary> Akce pro zobrazení detailních informací o vybrané lekci. </summary> /// <param name="id"> Id lekce </param> public ActionResult Detail(int id) { LessonDao lessonDao = new LessonDao(); Lesson lesson = lessonDao.GetById(id); // Získání seznamu registrovaných klientů na vybranou lekci. FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); IList <FitnessCentreUser> listReservedClients = fitnessCentreUserDao.GetReservedClients(id); ViewBag.ListReservedClients = listReservedClients; return(View("Detail", lesson)); }
public ActionResult Add(string startTime, string endTime, int activityTypeId, int roomId, int originalCapacity) { Lesson lesson = new Lesson(); if (ModelState.IsValid) { // Nastavení času lekce lesson.StartTime = DateTime.ParseExact(startTime, "dd.MM.yyyy H:mm", CultureInfo.CurrentCulture); lesson.EndTime = DateTime.ParseExact(endTime, "dd.MM.yyyy H:mm", CultureInfo.CurrentCulture); // Přiřazení vybrané aktivity ze select listu vytvářené lekci ActivityTypeDao activityTypeDao = new ActivityTypeDao(); ActivityType activityType = activityTypeDao.GetById(activityTypeId); lesson.ActivityType = activityType; // Přiřazení vybrané místnosti ze select listu vytvářené lekci RoomDao roomDao = new RoomDao(); Room room = roomDao.GetById(roomId); lesson.Room = room; // Přiřazení přihlášeného instruktora vytvářené lekci FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser instructor = fitnessCentreUserDao.GetByLogin(User.Identity.Name); lesson.Instructor = instructor; // Aktuální kapacita lekce je rovna původní kapacitě. lesson.OriginalCapacity = originalCapacity; lesson.ActualCapacity = originalCapacity; lesson.IsActive = true; // Vytvoření lekce LessonDao lessonDao = new LessonDao(); lessonDao.Create(lesson); TempData["message-success"] = "Lekce " + lesson.ActivityType.Name + " byla úspěšně přidána."; } else { TempData["message-error"] = "Lekce nebyla přidána"; return(View("Create", lesson)); } return(RedirectToAction("Index", "Lessons", new { isActive = true })); }
public ActionResult Update(int idLesson, string startTime, string endTime, int activityTypeId, int roomId, int instructorId, int originalCapacity, bool isActive) { try { Lesson lesson = new Lesson(); lesson.Id = idLesson; // Nastavení času lekce lesson.StartTime = DateTime.ParseExact(startTime, "dd.MM.yyyy H:mm", CultureInfo.CurrentCulture); lesson.EndTime = DateTime.ParseExact(endTime, "dd.MM.yyyy H:mm", CultureInfo.CurrentCulture); // Přiřazení vybrané aktivity ze select listu vytvářené lekci ActivityTypeDao activityTypeDao = new ActivityTypeDao(); ActivityType activityType = activityTypeDao.GetById(activityTypeId); lesson.ActivityType = activityType; // Přiřazení vybrané místnosti ze select listu vytvářené lekci RoomDao roomDao = new RoomDao(); Room room = roomDao.GetById(roomId); lesson.Room = room; // Přiřazení vybraného trenéra ze select listu vytvářené lekci FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser instructor = fitnessCentreUserDao.GetById(instructorId); lesson.Instructor = instructor; // Aktuální kapacita lekce je rovna původní kapacitě. lesson.OriginalCapacity = originalCapacity; lesson.ActualCapacity = originalCapacity; lesson.IsActive = isActive; // Upravení lekce LessonDao lessonDao = new LessonDao(); lessonDao.Update(lesson); TempData["message-success"] = "Lekce " + lesson.ActivityType.Name + " byla úspěšně upravena."; } catch (Exception) { throw; } return(RedirectToAction("Index", "Lessons", new { isActive = true })); }
public ActionResult Delete(int id) { try { LessonDao lessonDao = new LessonDao(); Lesson lesson = lessonDao.GetById(id); lessonDao.Delete(lesson); TempData["message-success"] = "Lekce " + lesson.ActivityType.Name + " byla úspěšně smazána."; } catch (Exception) { // mechanismus zachytávání výjimek doporučuje dobře si nastudovat throw; } return(RedirectToAction("Index", "Lessons", new { isActive = true })); }
public ActionResult Edit(int id) { ViewBag.ListActivityTypes = new ActivityTypeDao().GetAll(); ViewBag.ListRooms = new RoomDao().GetAll(); FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); ViewBag.ListInstructors = fitnessCentreUserDao.GetUsersByRole("instructor"); Lesson lesson = new LessonDao().GetById(id); FitnessCentreUser user = fitnessCentreUserDao.GetByLogin(User.Identity.Name); if (user.Role.Identificator == "staff") { return(View("EditStaff", lesson)); } return(View("EditInstructor", lesson)); }
public ActionResult Cancel(int id) { try { // Získání instance vybrané rezervace pro zrušení. ReservationDao reservationDao = new ReservationDao(); Reservation reservation = reservationDao.GetById(id); // Píše chybu v dvojité session //reservation.Client.Credit += reservation.Lesson.ActivityType.Price; //FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); //fitnessCentreUserDao.Update(reservation.Client); //reservation.Lesson.Capacity += 1; //LessonDao lessonDao = new LessonDao(); //lessonDao.Update(reservation.Lesson); // Přičtení ceny aktivity zpět ke kreditu klienta a uvolnění 1 místa v kapacitě lekce. Zápis změn do databáze. reservation.Client.Credit += reservation.Lesson.ActivityType.Price; FitnessCentreUserDao fitnessCentreUserDao = new FitnessCentreUserDao(); FitnessCentreUser client = fitnessCentreUserDao.GetByLogin(reservation.Client.Login); fitnessCentreUserDao.Update(client); reservation.Lesson.ActualCapacity += 1; LessonDao lessonDao = new LessonDao(); Lesson lesson = lessonDao.GetById(reservation.Lesson.Id); lessonDao.Update(lesson); TempData["message-success"] = "Rezervace aktivity " + reservation.Lesson.ActivityType.Name + " byla úspěšně zrušena."; // Smazání rezervace z databáze. reservationDao.Delete(reservation); } catch (Exception) { // mechanismus zachytávání výjimek doporučuje dobře si nastudovat throw; } return(RedirectToAction("Index", new { isActive = true })); }
public ActionResult Search(string query, int page = 1, int pageSize = 1) { int totalRecord = 0; var model = new LessonDao().Search(query, ref totalRecord, page, pageSize); ViewBag.Total = totalRecord; ViewBag.Page = page; ViewBag.Keyword = query; int maxPage = 5; int totalPage = 0; totalPage = (int)Math.Ceiling((double)(totalRecord / pageSize)); ViewBag.TotalPage = totalPage; ViewBag.MaxPage = maxPage; ViewBag.First = 1; ViewBag.Last = totalPage; ViewBag.Next = page + 1; ViewBag.Prev = page - 1; return(View(model)); }
public ActionResult Edit(Lesson lesson) { if (ModelState.IsValid) { var dao = new LessonDao(); var result = dao.Update1(lesson); if (result) { SetAlert("Cập nhật thành công", "success"); return(RedirectToAction("Index", "Lesson")); } else { ModelState.AddModelError("", "Cập nhật không thành công"); } } SetViewBags(); //SetViewBag(); SetViewBag1(); return(View("Index")); }
public ActionResult ViewLessonType(long baigiangId) { var model = new LessonDao().Listlesson(); return(PartialView(model)); }
public ActionResult Detail(long id) { var news = new LessonDao().ViewDeatil(id); return(PartialView(news)); }
public PartialViewResult Lesson() { var model = new LessonDao().ListAll(); return(PartialView(model)); }
// GET: /Admin/Lessons/ /// <summary> Akce pro zobrazení seznamu lekcí vybrané aktivity </summary> /// <param name="isActive">výběr lekcí aktivních/uplynulých nebo všech (null)</param> /// <param name="activityTypeId">Id vybrané aktivity</param> /// <param name="page">číslo strany výpisu</param> public ActionResult Index(bool?isActive, int?activityTypeId, int?page) { // Nastavení uskutečněných lekcí jako neaktivních LessonDao lessonDao = new LessonDao(); lessonDao.SetExpiredLessons(); // Pro výpis labelů filtru aktivit. ViewBag.ActivityTypes = new ActivityTypeDao().GetAll(); // Tato proměnná by správně neměla být definována uvnitř controlleru, ale měla by to být konfigurační konstanta. const int itemsOnPage = 10; // Pokud přijde do parametru hodnota, tak se do "page" přiřadí pageId. Pokud je parametr null tak page = 1. int pg = page.HasValue ? page.Value : 1; int totalLessons; // Větvení, zda je požadováno třídění dle aktivních/uplynulých či druhů aktivit lekcí. IList <Lesson> listLessonsPerPage; if (isActive.HasValue) { if (activityTypeId.HasValue) { listLessonsPerPage = lessonDao.GetRestrictedLessonsByActivityTypeIdPaged(activityTypeId, isActive, itemsOnPage, pg, out totalLessons); } else { listLessonsPerPage = lessonDao.GetRestrictedLessonsPaged(isActive, itemsOnPage, pg, out totalLessons); } } else { if (activityTypeId.HasValue) { listLessonsPerPage = lessonDao.GetLessonsByActivityTypeIdPaged(activityTypeId, itemsOnPage, pg, out totalLessons); } else { listLessonsPerPage = lessonDao.GetLessonsPaged(itemsOnPage, pg, out totalLessons); } } ViewBag.CurrentIsActive = isActive; // Pamatovat si nastavení výběru uplynulých/aktivních lekcí. ViewBag.CurrentActivityTypeId = activityTypeId; // Pamatovat si zvolený filtr při procházení stránek. /* Výpočet počtu stránek. * Nelze dělit jednoduše integery, osekla by se desetinná část po celém čísle. Ceiling zaokrouhlí nahoru. Tzn. když chci * 30 knížek po dvaceti na stránku, vrátí počet stránek 2. */ ViewBag.Pages = (int)Math.Ceiling((double)totalLessons / (double)itemsOnPage); ViewBag.CurrentPage = pg; // Vyznačení rezervovaných lekcí FitnessCentreUser user = new FitnessCentreUserDao().GetByLogin(User.Identity.Name); if (user.Role.Identificator == "client") { IList <Reservation> listClientsReservations = new ReservationDao().GetClientsReservations(user.Id); foreach (Lesson lesson in listLessonsPerPage) { lesson.IsReserved = false; // Pro jistotu vyplnění vlastnosti. Zamezení null hodnotám. foreach (Reservation reservation in listClientsReservations) { if (reservation.Lesson.Id == lesson.Id) { lesson.IsReserved = true; } } } } ViewBag.UserId = user.Id; // Pamatovat si Id přihlášeného uživatele pro rozlišení rezervací if (user.Role.Identificator == "staff") { if (Request.IsAjaxRequest()) { return(PartialView("IndexStaff", listLessonsPerPage)); } else { return(View("IndexStaff", listLessonsPerPage)); } } if (user.Role.Identificator == "instructor") { if (Request.IsAjaxRequest()) { return(PartialView("IndexInstructor", listLessonsPerPage)); } else { return(View("IndexInstructor", listLessonsPerPage)); } } if (Request.IsAjaxRequest()) { return(PartialView("IndexClient", listLessonsPerPage)); } else { return(View("IndexClient", listLessonsPerPage)); } }
public ActionResult ViewLesson() { var model = new LessonDao().Listlesson(); return(PartialView(model)); }
public void SetViewBag_Lesson(long?selectedID = null) { var dao = new LessonDao(); ViewBag.LessonID = new SelectList(dao.ListAll(), "LessonID", "LessonName", selectedID); }
// GET: Lesson public ActionResult Index() { var model = new LessonDao().ListAllLesson(); return(View(model)); }