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