public async Task <ActionResult> TaskSummary(int?taskId = null) { var user = await GetUser(); if (taskId == null) { var newTask = new AddOrUpdateTaskCommand() { OwnerId = user.Id }; FillSelected(); return(View("Task", newTask)); } var task = await _dataContext.DashboardTasks.FirstOrDefaultAsync(x => x.TaskId == taskId); if (task.OwnerId != user.Id) { throw new HttpResponseException(StatusCodes.Status404NotFound); } var taskToEdit = new AddOrUpdateTaskCommand { OwnerId = task.OwnerId, Name = task.Name, Description = task.Description, TaskType = task.TaskType }; FillSelected(); return(View("Task", taskToEdit)); }
public async Task <ActionResult> AddOrUpdateTask(AddOrUpdateTaskCommand command) { if (!ModelState.IsValid) { FillSelected(); return(View("Task", command)); } var user = await GetUser(); var task = await _dataContext.DashboardTasks.FirstOrDefaultAsync(x => x.TaskId == command.TaskId); if (task == null) { var newTask = new DashboardTask { OwnerId = user.Id, Name = command.Name, Description = command.Description, TaskType = command.TaskType, TaskStatus = TaskStatus.ToDo }; await _dataContext.DashboardTasks.AddAsync(newTask); await _dataContext.SaveChangesAsync(); return(RedirectToAction("GetDashboard")); } if (task.OwnerId != user.Id) { throw new HttpResponseException(StatusCodes.Status404NotFound); } task.OwnerId = user.Id; task.Name = command.Name; task.Description = command.Description; task.TaskType = command.TaskType; task.TaskStatus = TaskStatus.ToDo; await _dataContext.SaveChangesAsync(); return(RedirectToAction("GetDashboard")); }