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