예제 #1
0
        private async Task <PetsViewModel> GetPetsViewModelFromAGLAsync(string baseUrl, string requestUri)
        {
            #region Call AGL JSON Web service

            try
            {
                var petOwners = await _petsRepository.GetPetOwnerAsync(baseUrl, requestUri);

                var petsFromMaleOwners = petOwners.Where(p => p.Gender == Gender.Male && p.Pets != null)
                                         .SelectMany(p => p.Pets).OrderBy(p => p.Name)
                                         .Select(p => new PetViewModel {
                    Name = p.Name, Type = p.Type.ToString()
                }).ToList();
                var petsFromFemaleOwners = petOwners.Where(p => p.Gender == Gender.Female).SelectMany(p => p.Pets)
                                           .OrderBy(p => p.Name)
                                           .Select(p => new PetViewModel {
                    Name = p.Name, Type = p.Type.ToString()
                }).ToList();
                var petsViewModel = new PetsViewModel
                {
                    PetsFromMaleOwner   = petsFromMaleOwners,
                    PetsFromFemaleOwner = petsFromFemaleOwners
                };

                return(petsViewModel);
            }
            catch (Exception ex)
            {
                _logger?.LogError(ex.ToString());
                throw ex;
            }
            #endregion
        }
예제 #2
0
        private async Task <PetsViewModel> GetPetsViewModelFromAglAsync()
        {
            #region Call AGL JSON Web service

            var petOwnersViewModel = await _petsRepository.GetPetOwnerAsync();

            if (petOwnersViewModel.Exception != null)
            {
                _logger?.LogError(petOwnersViewModel.Exception.ToString());
                throw petOwnersViewModel.Exception;
            }

            var petOwners = petOwnersViewModel.PetOwners;

            var petsFromMaleOwners = petOwners.Where(p => p.Gender == Gender.Male && p.Pets != null)
                                     .SelectMany(p => p.Pets).OrderBy(p => p.Name)
                                     .Select(p => new Pet {
                Name = p.Name, Type = p.Type.ToString()
            }).ToList();
            var petsFromFemaleOwners = petOwners.Where(p => p.Gender == Gender.Female).SelectMany(p => p.Pets)
                                       .OrderBy(p => p.Name)
                                       .Select(p => new Pet {
                Name = p.Name, Type = p.Type.ToString()
            }).ToList();

            var petsViewModel = new PetsViewModel
            {
                PetsFromMaleOwner   = petsFromMaleOwners,
                PetsFromFemaleOwner = petsFromFemaleOwners,
                StatusCode          = petOwnersViewModel.StatusCode
            };

            return(petsViewModel);

            #endregion
        }