示例#1
0
 // Mappers
 // Note: doesn't expose behavior
 public static FamilyMemberDTO FromFamilyMember(FamilyMember item) =>
 new FamilyMemberDTO()
 {
     Id       = item.Id,
     LastName = item.LastName,
     Name     = item.Name,
     Pets     = item.Pets == null ? new List <PetDTO>() : PetDTO.FromPet(item.Pets)
 };
示例#2
0
        // Mappers
        // Note: doesn't expose behavior
        public static EmployeeDTO FromEmployee(Employee item, bool includePets = true)
        {
            var result = new EmployeeDTO()
            {
                Id            = item.Id,
                FamilyMembers = item.FamilyMembers == null ? new List <FamilyMemberDTO>() : FamilyMemberDTO.FromFamilyMember(item.FamilyMembers),
                IsEmployee    = item.IsEmployee,
                LastName      = item.LastName,
                Name          = item.Name,
                PetsCount     = item.PetsCount
            };

            if (includePets)
            {
                result.Pets = item.Pets == null ? new List <PetDTO>() : PetDTO.FromPet(item.Pets);
            }

            return(result);
        }
示例#3
0
        public async Task <PetDTO> Create(string name, int animalId, int employeeId)
        {
            var animal = await _animalRepository.GetByIdAsync(animalId);

            if (animal is null)
            {
                return(null);
            }

            var employee = await _employeeRepository.GetByIdAsync(employeeId);

            if (employee is null)
            {
                return(null);
            }

            var petCreated = await _petRepository.AddAsync(new Pet(name, animal, employee));

            var result = PetDTO.FromPet(petCreated);

            return(result);
        }
示例#4
0
        public async Task <ICollection <PetDTO> > ListAsyncPaged(PetsPaginatedWithOwnerSpecification spec)
        {
            var items = await _petRepository.ListAsync(spec);

            return(items.Select(x => PetDTO.FromPet(x)).ToList());
        }