Пример #1
0
        public ActionResult EditCleaning(EditCleaningViewModel viewmodel)
        {
            var logic     = new SRLogic();
            var listusers = new List <User>();

            foreach (var user in viewmodel.AssignedWorkers)
            {
                if (user.Value)
                {
                    var usertoinsert = _repo.GetUserFromName(user.Key);
                    listusers.Add(usertoinsert);
                }
            }
            if (viewmodel.EndDate < viewmodel.StartDate)
            {
                viewmodel.EndDate = null;
            }
            var changedCleaning = new Cleaning(viewmodel.Id, viewmodel.StartDate, viewmodel.EndDate, viewmodel.Size,
                                               viewmodel.Comment, listusers, viewmodel.TramID);

            try
            {
                _repo.EditService(changedCleaning);
            }
            catch
            {
                viewmodel.Error =
                    "Something went wrong with posting the ervice. Check if the date field is filled and if the tram number is valid!";
                return(View(viewmodel));
            }
            logic.Error = "Cleaning posted succesfully!";
            //TempData["SRLogic"] = logic;
            return(RedirectToAction("Index", "SR"));
        }
Пример #2
0
        public ActionResult EditCleaning(int id)
        {
            var result = GetLoggedInUser(new[] { Role.Cleaner, Role.Engineer, Role.HeadCleaner, Role.HeadEngineer });

            if (result is ActionResult)
            {
                return(result as ActionResult);
            }
            var user = (User)result;

            var _logic = new SRLogic(Role.Cleaner)
            {
                User = user
            };
            var viewmodel = new EditCleaningViewModel();

            if (user.Role != Role.HeadCleaner)
            {
                _logic.Error        = "You do not have permission to do this!";
                TempData["SRLogic"] = _logic;

                return(RedirectToAction("Index", "SR"));
            }
            if (viewmodel.EndDate < viewmodel.StartDate)
            {
                viewmodel.EndDate = null;
            }
            viewmodel.CleaningToChange = _logic.GetCleaningToEdit(id);
            viewmodel.Id = viewmodel.CleaningToChange.Id;
            viewmodel.AssignedWorkers = _logic.AssignedWorkers;

            return(View(viewmodel));
        }