public async Task <ProjectTaskIndexViewModel> Handle(GetProjectTasksByProjectIdQuery request, CancellationToken cancellationToken) { var viewmodel = new ProjectTaskIndexViewModel(); Domain.MySql.Project project = _context.Projects .Include(x => x.Tasks).ThenInclude(x => x.Status) .Where(x => x.ProjectId == request.ProjectId) .FirstOrDefault(); if (project != null) { viewmodel = new ProjectTaskIndexViewModel() { Name = project.Name, //Description = project.Description, TaskList = project.Tasks.Where(x => x.ParentTaskId == null).Select(x => new ProjectTaskListingModel() { TaskId = x.TaskId, ProjectId = request.ProjectId, Description = x.Description, Name = x.Name, Status = x.Status.Name }) }; } return(viewmodel); }
public async Task <CreateProjectResponseModel> Handle(CreateProjectCommand request, CancellationToken cancellationToken) { var result = new CreateProjectResponseModel() { }; CreateProjectValidator validationRules = new CreateProjectValidator(); var results = validationRules.Validate(request); if (results.IsValid) { var project = new Domain.MySql.Project() { ProjectId = 0, CreatedDate = DateTime.Now, // Description = request.Description, Name = request.Name, Size = request.Size, Priority = request.Priority, //Classification = request.Classification, DueDate = request.DueDate, ProjectImage = request.ProjectImage, Status = _context.Statuscodes.Where(x => x.Name.ToLower() == request.Status).FirstOrDefault() }; result = new CreateProjectResponseModel() { CreatedDate = DateTime.Now, Description = project.Name, ProjectId = project.ProjectId }; _context.Projects.Add(project); await _context.SaveChangesAsync(cancellationToken); } else { result = new CreateProjectResponseModel() { Errors = results }; } return(result); }