コード例 #1
0
        public async Task <Unit> Handle(UpdateTask request, CancellationToken cancellationToken)
        {
            var projectTask = await _projectTaskRepository.GetByIdAsync(request.Id, cancellationToken);

            if (projectTask == null)
            {
                throw new DomainException("Task does not exist!");
            }

            if (projectTask.Title != request.Title && await _projectTaskRepository.Exists(request.Title, projectTask.ProjectId, cancellationToken))
            {
                throw new DomainException($"Task with name {request.Title} exists!");
            }

            projectTask.Title        = request.Title;
            projectTask.Description  = request.Description;
            projectTask.Type         = request.Type;
            projectTask.ModifiedDate = DateTime.UtcNow;

            _logger.LogInformation("----- Updating Task - Task: {@Task}", projectTask);

            _projectTaskRepository.Update(projectTask);

            await _projectTaskRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }
コード例 #2
0
 public IActionResult Update(ProjectTaskUpdateDisplay display)
 {
     if (!ModelState.IsValid)
     {
         return(View());
     }
     repository.Update(display.Data);
     return(Redirect("~/"));
 }
コード例 #3
0
 public void SetCompletion(int userId, int projectTaskId, bool completed)
 {
     _projectTaskRepository.Update(
         r => r.Id == projectTaskId && r.UserId == userId,
         record => {
         record.Completed = completed;
         return(record);
     }
         );
 }
コード例 #4
0
        public async Task <ProjectTaskDTO> EditAsync(ProjectTaskDTO model)
        {
            var entity = await _projectTaskRepository.GetByIdAsync(model.ProjectId);

            if (entity == null)
            {
                throw new Exception("Project task not found");
            }

            entity.ProjectId    = model.ProjectId;
            entity.TaskFatherId = model.TaskFatherId;
            entity.TaskName     = model.TaskName;
            _projectTaskRepository.Update(entity);
            await _projectTaskRepository.SaveAsync();

            return(entity.ToModel());
        }
コード例 #5
0
        public UpdateProjectTaskResponseEvent Execute(UpdateProjectTaskRequestEvent request)
        {
            UpdateProjectTaskResponseEvent response;

            try
            {
                if (request.ProjectTask.Status == TaskStatus.Closed)
                {
                    request.ProjectTask.ActualTile = DateTime.Now;
                }
                bool status = _projectTaskRepository.Update(request.ProjectTask);
                response = new UpdateProjectTaskResponseEvent(status);
            }
            catch (Exception ex)
            {
                throw new MissingMemberException("Data is incorrect!", ex);
            }

            return(response);
        }
コード例 #6
0
 public ActionResult <ProjectTask> Update(ProjectTaskUpdate task) => repository.Update(task);