Example #1
0
        public ActionResult Edit(WorkTaskViewModel model)
        {
            WorkTaskDTO workTask = workTaskService.GetWorkTask(model.Id);

            if (workTask == null)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                workTask.Title              = model.Title;
                workTask.Description        = model.Description;
                workTask.CreatedDate        = model.CreatedDate;
                workTask.AuthorUserId       = model.AuthorUserId;
                workTask.TaskState          = model.TaskState;
                workTask.UpdatedDate        = DateTime.Now;
                workTask.LastModifiedUserId = model.LastModifiedUserId;
                workTaskService.UpdateWorkTask(workTask);
                return(RedirectToAction("index"));
            }
            else
            {
                return(View(model));
            }
        }
Example #2
0
        public async Task <IActionResult> Edit(WorkTaskViewModel model)
        {
            var user = await _appDb.Users.AsNoTracking()
                       .FirstOrDefaultAsync(u => u.AuthorizationToken == User.GetToken());

            var taskResponsibleUser = await _appDb.Users.AsNoTracking()
                                      .FirstOrDefaultAsync(u => u.Id == model.TaskResponsibleId);


            if (taskResponsibleUser == null)
            {
                ModelState.AddModelError("TaskResponsibleId", "Не выбран исполнитель");
            }
            if (user == null)
            {
                return(RedirectToAction("Logout", "Account"));
            }

            var task = await _appDb.WorkTasks
                       .Include(t => t.Department)
                       .Include(t => t.TaskManagerUser)
                       .Include(t => t.TaskResponsibleUser)
                       .FirstOrDefaultAsync(m => m.Id == model.Id);

            if (task == null)
            {
                ModelState.AddModelError("Id", "Не удалось найти задачу по Id. Обновите страницу.");
            }
            else if (!(User.IsAdmin() ||
                       User.IsPermission(Permission.Secretary) ||
                       user.Id == task.TaskManagerId ||
                       task.Department.HeadUserId == user.Id))
            {
                ModelState.AddModelError("Id", "Недостаточно прав для изменения задачи");
            }

            if (!ModelState.IsValid)
            {
                return(new JsonResult(new { isSucceeded = false, errors = ModelState.Errors() }));
            }

            try
            {
                if (task == null)
                {
                    throw new NullReferenceException();
                }
                task.Set(model, user, taskResponsibleUser);
                _appDb.WorkTasks.Update(task);
                await _appDb.SaveChangesAsync();

                return(new JsonResult(new { isSucceeded = true }));
            }
            catch
            {
                return(new JsonResult(new { isSucceeded = false, errors = ModelState.Errors() }));
            }
        }
Example #3
0
        public async Task <IActionResult> Create(WorkTaskViewModel model)
        {
            var taskManagerUser = await _appDb.Users.AsNoTracking()
                                  .FirstOrDefaultAsync(u => u.AuthorizationToken == User.GetToken());

            var taskResponsibleUser = await _appDb.Users.AsNoTracking()
                                      .FirstOrDefaultAsync(u => u.Id == model.TaskResponsibleId);

            if (taskManagerUser == null)
            {
                return(RedirectToAction("Logout", "Account"));
            }
            if (taskResponsibleUser == null)
            {
                ModelState.AddModelError("TaskResponsibleId", "Не выбран исполнитель");
            }
            if (!ModelState.IsValid)
            {
                return(new JsonResult(new { isSucceeded = false, errors = ModelState.Errors() }));
            }

            try
            {
                if (taskResponsibleUser == null)
                {
                    throw new NullReferenceException();
                }
                var workTask = new WorkTask()
                {
                    Name                = model.DocumentName,
                    DocumentNumber      = model.DocumentNumber,
                    Discription         = model.Discription,
                    TaskManagerId       = taskManagerUser.Id,
                    TaskResponsibleId   = taskResponsibleUser.Id,
                    DepartmentId        = taskResponsibleUser.DepartmentId,
                    IsRepeat            = model.IsRepeat,
                    IsUrgent            = model.IsUrgent,
                    CompletionDate      = model.IsRepeat ? DateTime.Now.Date : model.CompletionDate.Date,
                    AdditionToDeadlines = model.IsRepeat ? model.AdditionToDeadlines : "Один раз",
                    IsArchive           = false
                };
                await _appDb.WorkTasks.AddAsync(workTask);

                await _appDb.SaveChangesAsync();

                return(new JsonResult(new { isSucceeded = true }));
            }
            catch
            {
                return(new JsonResult(new { isSucceeded = false, errors = ModelState.Errors() }));
            }
        }
Example #4
0
        public WorkTaskEditDialogViewModel(WorkTask model)
        {
            IsEditMode.Value = model.Id.IsTemporary == false;

            Processes = _WorkTaskEditDialogModel.GetProcesses();
            Clients   = _WorkTaskEditDialogModel.GetClients();
            Products  = _WorkTaskEditDialogModel.GetProducts();

            TaskCardViewModel = new WorkTaskViewModel(model, Processes, Clients, Products);

            ShowQuickStartButton = new ReactivePropertySlim <bool>(IsEditMode.Value == false);
            ShowDeleteButton     = new ReactivePropertySlim <bool>(IsEditMode.Value);
        }
Example #5
0
 public void Set(WorkTaskViewModel model, User manager, User responsible)
 {
     Name                = model.DocumentName;
     DocumentNumber      = model.DocumentNumber;
     Discription         = model.Discription;
     TaskManagerId       = manager.Id;
     TaskResponsibleId   = responsible.Id;
     DepartmentId        = responsible.DepartmentId;
     IsRepeat            = model.IsRepeat;
     IsUrgent            = model.IsUrgent;
     CompletionDate      = model.IsRepeat ? DateTime.Now.Date : model.CompletionDate.Date;
     AdditionToDeadlines = model.IsRepeat ? model.AdditionToDeadlines : "Один раз";
     IsArchive           = false;
 }
Example #6
0
        public ActionResult Delete(int id)
        {
            WorkTaskDTO workTask = workTaskService.GetWorkTask(id);

            if (workTask == null)
            {
                return(NotFound());
            }
            WorkTaskViewModel model;


            model = new WorkTaskViewModel()
            {
                Title       = workTask.Title,
                Description = workTask.Description,
                CreatedDate = workTask.CreatedDate,
            };
            return(View(model));
        }
Example #7
0
        public async Task <IActionResult> ShowModal(int id)
        {
            var users = await _appDb.Users.Select(u => new
            {
                u.Id,
                FullName = $"{u.FullName} ({u.Department.Name})"
            }).AsNoTracking().ToListAsync();

            ViewBag.Users = users;
            var workTask = await _appDb.WorkTasks.AsNoTracking().FirstOrDefaultAsync(m => m.Id == id);

            if (workTask == null)
            {
                throw new NullReferenceException();
            }
            var viewTask = new WorkTaskViewModel();

            viewTask.Set(workTask);
            return(PartialView("_ShowModal", viewTask));
        }
Example #8
0
        public ActionResult Edit(int id)
        {
            WorkTaskDTO workTask = workTaskService.GetWorkTask(id);

            if (workTask == null)
            {
                return(NotFound());
            }
            WorkTaskViewModel model;

            model = new WorkTaskViewModel()
            {
                Title        = workTask.Title,
                Description  = workTask.Description,
                CreatedDate  = workTask.CreatedDate,
                AuthorUserId = workTask.AuthorUserId,
                TaskState    = workTask.TaskState
            };

            return(View(model));
        }
Example #9
0
        public ActionResult Create(WorkTaskViewModel workTask)
        {
            if (workTask.Title != null && workTask.Description != null)
            {
                var WorkTaskDto = new WorkTaskDTO
                {
                    Title              = workTask.Title,
                    Description        = workTask.Description,
                    CreatedDate        = DateTime.Now,
                    UpdatedDate        = DateTime.Now,
                    AuthorUserId       = workTask.AuthorUserId,
                    LastModifiedUserId = workTask.AuthorUserId,
                    TaskState          = "ToDo"
                };

                workTaskService.InsertWorkTask(WorkTaskDto);
                return(RedirectToAction("Index"));
            }

            return(View());
        }