/// <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);
            }
        }
Ejemplo n.º 3
0
 public ActionResult DevUpdateTask(DevTaskViewModel devTaskViewModel)
 {
     tasksManagement.DevUpdateTask(devTaskViewModel, User.Identity.GetUserId());
     return(RedirectToAction("List", new { projectId = devTaskViewModel.ProjectId }));
 }