示例#1
0
        public ActionResult Create(ViewModels.Tasks.TaskResponsibleUserViewModel viewModel)
        {
            Common.Models.Tasks.TaskResponsibleUser  model;
            Common.Models.Account.Users              currentUser;
            Common.Models.Tasks.TaskResponsibleUser  currentResponsibleUser;
            List <ViewModels.Account.UsersViewModel> userViewModelList;

            Common.Models.Tasks.Task       task;
            ViewModels.Tasks.TaskViewModel taskViewModel;

            model       = Mapper.Map <Common.Models.Tasks.TaskResponsibleUser>(viewModel);
            currentUser = Data.Account.Users.Get(User.Identity.Name);

            // Is there already an entry for this user?
            currentResponsibleUser = Data.Tasks.TaskResponsibleUser.GetIgnoringDisable(
                long.Parse(RouteData.Values["Id"].ToString()), currentUser.PId.Value);

            if (currentResponsibleUser != null)
            { // Update
                if (!currentResponsibleUser.Disabled.HasValue)
                {
                    ModelState.AddModelError("User", "This user already has a responsibility.");

                    userViewModelList = new List <ViewModels.Account.UsersViewModel>();

                    task = Data.Tasks.Task.Get(currentResponsibleUser.Task.Id.Value);

                    taskViewModel = Mapper.Map <ViewModels.Tasks.TaskViewModel>(task);

                    Data.Account.Users.List().ForEach(x =>
                    {
                        userViewModelList.Add(Mapper.Map <ViewModels.Account.UsersViewModel>(x));
                    });

                    ViewData["UserList"] = userViewModelList;

                    return(View(new ViewModels.Tasks.TaskResponsibleUserViewModel()
                    {
                        Task = taskViewModel
                    }));
                }

                model.Id             = currentResponsibleUser.Id;
                model.Responsibility = model.Responsibility;

                // Remove disability
                model = Data.Tasks.TaskResponsibleUser.Enable(model, currentUser);

                // Update responsibility
                model = Data.Tasks.TaskResponsibleUser.Edit(model, currentUser);
            }
            else
            { // Insert
                model = Data.Tasks.TaskResponsibleUser.Create(model, currentUser);
            }

            return(RedirectToAction("ResponsibleUsers", "Tasks", new { Id = model.Task.Id.Value.ToString() }));
        }
示例#2
0
        public ActionResult Delete(Guid id, ViewModels.Tasks.TaskResponsibleUserViewModel viewModel)
        {
            Common.Models.Account.Users             currentUser;
            Common.Models.Tasks.TaskResponsibleUser model;

            currentUser = Data.Account.Users.Get(User.Identity.Name);

            model = Data.Tasks.TaskResponsibleUser.Get(id);

            model = Data.Tasks.TaskResponsibleUser.Disable(model, currentUser);

            return(RedirectToAction("ResponsibleUsers", "Tasks", new { Id = model.Task.Id.Value }));
        }