public IActionResult Delete(long id, string message) { ReservationFE res = new ReservationFE(flexDeskBll, reservationBll.GetReservationById(id)); activeUser = userBll.GetUserById((long)HttpContext.Session.GetInt32("userId")); res.NameCreator = activeUser.FirstName + " " + activeUser.Name; rvm.ReservationUser = res; rvm.UserId = res.UserId; rvm.User = userBll.GetUserById(res.UserId); rvm.UserCode = rvm.User.Login; rvm.ReservationFloor = floorBll.GetFloorById(departmentBll.GetDepartmentById(flexDeskBll.GetFlexDeskById(res.FlexDeskId).DepartmentId).FloorId); rvm.Dictionary = new Dictionary(HttpContext.Session.GetInt32("language")); if (message == "" || message == null) { message = rvm.Dictionary.Label5 + " " + rvm.Dictionary.Label19; } ViewData["Title"] = message; rvm.ActiveUser = activeUser; ViewData["sessionData"] = new int?[] { HttpContext.Session.GetInt32("admin"), HttpContext.Session.GetInt32("language") }; UpdateRvm(rvm); return(View(rvm)); }
//show floor with desks public IActionResult FlexDesks(ReservationViewModel rvm) { try { ViewData["sessionData"] = new int?[] { HttpContext.Session.GetInt32("admin"), HttpContext.Session.GetInt32("language") }; this.rvm = rvm; activeUser = userBll.GetUserById((long)HttpContext.Session.GetInt32("userId")); rvm.ActiveUser = activeUser; rvm.Dictionary = new Dictionary(HttpContext.Session.GetInt32("language")); if (rvm.UserId == 0) { rvm.User = activeUser; } rvm.User = userBll.GetUserById(rvm.UserId); rvm.UserCode = rvm.User.Login; if (rvm.Start == null) { rvm.Start = DateTime.Today; } if (rvm.End == null) { rvm.End = rvm.Start; } // Check if dates are ok string message = rvm.CheckDates(HttpContext.Session.GetInt32("language")); if (rvm.DatesOK == false) { IEnumerable <Reservation> reservations = reservationBll.ShowAllReservations().Where(r => r.UserId == activeUser.UserId && r.EndDate >= DateTime.Today); rvm.Reservations = new ReservationFE().GetReservations(flexDeskBll, reservations); //exception: Back to List rvm.Message = message; return(RedirectToAction("Index", rvm)); } UpdateRvm(rvm); if (rvm.Reservations.Any(r => r.UserId == rvm.UserId)) { ReservationFE reservation = rvm.Reservations.First(r => r.UserId == rvm.UserId); //Exception: User has already reservation in this period return(RedirectToAction("Delete", routeValues: new { id = reservation.ReservationId, message = new Dictionary(HttpContext.Session.GetInt32("language")).Label25 })); } IEnumerable <Absence> afwezigheden = absenceBll.ShowAllAbsences().Where(a => a.UserId == rvm.UserId); if (afwezigheden.Any(a => (a.StartDate >= rvm.Start && a.StartDate <= rvm.End) || (a.EndDate >= rvm.Start && a.EndDate <= rvm.End)) || afwezigheden.Any(a => (rvm.Start >= a.StartDate && rvm.Start <= a.EndDate) || (rvm.End >= a.StartDate && rvm.End <= a.EndDate))) { //exception: User has already absence in this period; rvm.Message = rvm.Dictionary.Label29; return(RedirectToAction("Index", rvm)); } return(View(rvm)); } catch (Exception) { rvm.Floors = floorBll.ShowAllFloors().Where(floor => floor.BuildingId == rvm.Building.BuildingId).ToList(); return(RedirectToAction("Index", "Home")); } }