Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }