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 }
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 }