/// <summary> /// Will load the specific task from database and convert it to the <c>DevTaskViewModel</c>. /// </summary> /// <param name="taskId">to get perticular task from database.</param> /// <returns>Model for the view.</returns> public DevTaskViewModel LoadDevViewModel(int taskId) { var task = db.Tasks.Find(taskId); DevTaskViewModel devTaskViewModel = new DevTaskViewModel() { Id = task.Id, Name = task.Name, Description = task.Description, ProjectId = task.ProjectId, CompletedPercentage = task.CompletedPercentage, Priority = task.Priority, Deadline = task.Deadline, }; return(devTaskViewModel); }
/// <summary> /// Collect CompletedPercentage of task, notes from <c>DevTaskViewModel</c> and update existing task record in database. /// </summary> /// <param name="devTaskViewModel">to get required CompletedPercentage of task, notes from ViewModel to update record in database.</param> /// <param name="userId">to make record in notes table in database.</param> public void DevUpdateTask(DevTaskViewModel devTaskViewModel, string userId) { var taskInDb = db.Tasks.Find(devTaskViewModel.Id); taskInDb.CompletedPercentage = devTaskViewModel.CompletedPercentage; var note = new Notes() { Comment = devTaskViewModel.Note, CreatedDate = DateTime.Now, User = db.Users.Find(userId) }; taskInDb.Notes.Add(note); db.SaveChanges(); projectManagement.UpdateCompletedWork(taskInDb.Project); if (devTaskViewModel.CompletedPercentage == 100) { notificationManagement.AddCompletedNotification(taskInDb, NotificationType.Completed); } }
public ActionResult DevUpdateTask(DevTaskViewModel devTaskViewModel) { tasksManagement.DevUpdateTask(devTaskViewModel, User.Identity.GetUserId()); return(RedirectToAction("List", new { projectId = devTaskViewModel.ProjectId })); }