示例#1
0
        public async Task <Guid> Handle(CreateTask request, CancellationToken cancellationToken)
        {
            if (await _projectRepository.GetByIdAsync(request.ProjectId, cancellationToken) == null)
            {
                throw new DomainException("Project does not exist!");
            }

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

            var projectTask = new ProjectTask
            {
                Id          = _idGenerator.NewId(),
                Title       = request.Title,
                Description = request.Description,
                Type        = request.Type,
                ProjectId   = request.ProjectId,
                CreatedDate = DateTime.UtcNow
            };

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

            _projectTaskRepository.Add(projectTask);

            await _projectTaskRepository.UnitOfWork.SaveChangesAsync(cancellationToken);

            return(projectTask.Id);
        }
示例#2
0
 public IActionResult Add(ProjectTaskAddDisplay display)
 {
     if (!ModelState.IsValid)
     {
         return(View(display));
     }
     repository.Add(display.Data);
     return(Redirect("~/"));
 }
示例#3
0
 public ActionResult <ProjectTask> Add(ProjectTaskAdd task) => repository.Add(task);