コード例 #1
0
        public static ContractorDTO ConvertToDTO(this Contractor model, IMapper _mapper)
        {
            ContractorDTO contractor = _mapper.Map <Contractor, ContractorDTO>(model);

            contractor.Projects = model.Projects.Select(p => p.ConvertToBaseOnly(_mapper)).ToList();
            return(contractor);
        }
コード例 #2
0
        public async ValueTask <IActionResult> Get(int id, bool projects = false)
        {
            Contractor contractor = null;

            if (!projects)
            {
                contractor = await _repo.Item()
                             .Where(c => c.Id == id)
                             .FirstOrDefaultAsync();

                if (contractor != null)
                {
                    ContractorBase model = contractor.Convert <Contractor, ContractorBase>(_mapper);
                    return(Ok(model));
                }
            }
            else
            {
                contractor = await _repo.Item()
                             .Where(c => c.Id == id)
                             .Include(c => c.Projects)
                             .ThenInclude(p => p.Comments)
                             .FirstOrDefaultAsync();

                if (contractor != null)
                {
                    ContractorDTO        model = contractor.ConvertToDTO(_mapper);
                    ContractorProjectDTO dto   = new ContractorProjectDTO
                    {
                        Contractor = model,
                        Total      = contractor.Projects.Count()
                    };
                    return(Ok(dto));
                }
            }
            return(NotFound(new ErrorDTO {
                Message = "Item not found"
            }));
        }