private static void ComposeService() { var reader = new ServiceReader(); var viewModel = new PetsViewModel(reader); Application.Current.MainWindow = new PetViewerWindow(viewModel); }
private IEnumerable <PetsViewModel> MapPets(IEnumerable <Owner> ownerList) { var petsViewModels = new List <PetsViewModel>(); foreach (var owner in ownerList) { if (owner.Pets == null) { continue; } foreach (var p in owner.Pets) { var petView = new PetsViewModel { PetName = p.Name, PetType = p.PetType, City = owner.City, OwnerAge = owner.Age, OwnerGender = owner.Gender, OwnerName = owner.Name }; petsViewModels.Add(petView); } } return(petsViewModels); }
private static void ComposeSqlServer() { var reader = new SqlServerReader(ConfigurationManager.AppSettings["sqlServerConnectionString"]); var viewModel = new PetsViewModel(reader); Application.Current.MainWindow = new PetViewerWindow(viewModel); }
public async Task <IActionResult> GetPetsAsync(bool includePerson = false) { var pets = await _repository.GetPetsAsync(true); var petsFromMalePerson = pets.Where(p => p.PersonPets.Any(o => o.Person.Gender == Gender.Male)).OrderBy(p => p.Name); var petsFromFemalePerson = pets.Where(p => p.PersonPets.Any(o => o.Person.Gender == Gender.Female)).OrderBy(p => p.Name); // group by person's gender. var petsViewModel = new PetsViewModel { PetsFromMaleOwner = petsFromMalePerson .Select(p => new PetViewModel { PetId = p.PetId, Name = p.Name, Type = p.Type.PetTypeName, People = includePerson ? p.PersonPets.Select(pp => _mapper.Map <Person, PersonViewModel>(pp.Person)).ToList() : null }).ToList(), PetsFromFemaleOwner = petsFromFemalePerson .Select(p => new PetViewModel { PetId = p.PetId, Name = p.Name, Type = p.Type.PetTypeName, People = includePerson ? p.PersonPets.Select(pp => _mapper.Map <Person, PersonViewModel>(pp.Person)).ToList() : null }).ToList(), }; return(Ok(petsViewModel)); }
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 }
public MainFaves() { InitializeComponent(); BindingContext = new PetsViewModel(); Task.Delay(500); // Don't ask me why it works, it just does -- do not remove FindFaves(); }
private static void ComposeCachedService() { var baseReader = new ServiceReader(); var cacheReader = new CachingReader(baseReader); var viewModel = new PetsViewModel(cacheReader); Application.Current.MainWindow = new PetViewerWindow(viewModel); }
public ActionResult PetsStore() { PetsDal PDal = new PetsDal(); PetsViewModel pv = new PetsViewModel(); pv.pets = PDal.pets.ToList <Pets>(); return(View(pv)); }
/*PetsListView _PetsListView; * PetModel PetSelected;*/ public PetsDetailView(PetsViewModel petsViewModel) { InitializeComponent(); BindingContext = new PetsDetailViewModel(petsViewModel); //_PetsListView = petsListView; }
public PetsDetailView(PetsViewModel petsViewModel, PetModel pet) { InitializeComponent(); BindingContext = new PetsDetailViewModel(petsViewModel, pet); /*_PetsListView = petsListView; * * PetSelected = pet; * FillPet(pet);*/ }
// Constructor for the quick search views public PetListView(string filter) { InitializeComponent(); showPets.IsVisible = false; BindingContext = new PetsViewModel(); filterQuickPets(filter); //lstPets.ItemsSource gets reassigned within the above method newFlag = true; }
public void OnRefreshPetsIsPopulated() { // arrange var reader = new FakeReader(); var vm = new PetsViewModel(reader); // act vm.RefreshPets(); // assert Assert.NotNull(vm.Pets); Assert.Equal(2, vm.Pets.Count()); }
public void OnClearPetsIsEmpty() { // arrange var reader = new FakeReader(); var vm = new PetsViewModel(reader); vm.RefreshPets(); Assert.NotEmpty(vm.Pets); // act vm.ClearPets(); // assert Assert.Empty(vm.Pets); }
/// <summary> /// Returns all the pets grouped by their owner gender /// </summary> /// <param name="petType">Can be one of the <see cref="AnimalType"/> values</param> /// <returns></returns> public async Task <PetsViewModel> GetPetsByOwnerGenderAsync(AnimalType petType) { var responseText = await client.GetAsync("people.json"); var people = JsonConvert.DeserializeObject <IList <Person> >(responseText); var petsWithMaleOwners = people.Where(person => person.Gender == Gender.Male && person.Pets != null && person.Pets.Any(pet => pet.Type == petType)) .SelectMany(owner => owner.Pets.Where(pet => pet.Type == petType)) .OrderBy(pet => pet.Name); var petsWithFemaleOwners = people.Where(person => person.Gender == Gender.Female && person.Pets != null && person.Pets.Any(pet => pet.Type == petType)) .SelectMany(owner => owner.Pets.Where(pet => pet.Type == petType)) .OrderBy(pet => pet.Name); var model = new PetsViewModel(petsWithMaleOwners, petsWithFemaleOwners); return(model); }
// testing to replace filters, and each position represents a type of filter //List<List<string>> filters; // Constructor for the filter modals public PetListView(List <string>[] _allfilters, bool fromMain) { // NOTE -- _allFilters is always null at this point if (fromMain) { Application.Current.MainPage.Navigation.PushAsync(new SimpleFilterModal()); } InitializeComponent(); showPets.IsVisible = true; BindingContext = new PetsViewModel(); newFlag = true; //List<List<string>> filters = _filters; allFilters = _allfilters; allPets = lstPets.ItemsSource as ObservableCollection <Pet>; // TO DO - WORK ON THIS AFTERWARDS! //lstPets.ItemsSource = filterPets(null); filterPets(null); MessagingCenter.Subscribe <List <string>[]>(this, "filtersChanged", (filterSet) => { Console.WriteLine("Message receieved"); //lstPets.ItemsSource = filterPets(filterSet); filterPets(filterSet); }); // NOTE -- have to call the filter function now and reassign the pet list !! /* MessagingCenter.Subscribe<List<List<string>>>(this, "filtersChanged", (filterSet) => * { * Console.WriteLine("Message receieved"); * lstPets.ItemsSource = filterPets(filterSet); * }); */ }
/// <summary> /// Gets all pets segregated by owner's gender /// </summary> /// <returns>Returns PetViewModel for display</returns> public PetsViewModel GetAllPetsByOwnerGender() { //get response string from api var responseString = _dataSource.GetApiResponseString(); //get owners by gender var femaleOwners = _personService.GetFemaleOwners(responseString).ToList(); var maleOwners = _personService.GetMaleOwners(responseString).ToList(); //get pets by owners var femaleOwnedCats = _petService.GetAllCat(femaleOwners).ToList(); var maleOwnedCats = _petService.GetAllCat(maleOwners).ToList(); //assign view model for display var petsViewModel = new PetsViewModel { FemaleOwned = _petService.GetAllByAscendingPetName(femaleOwnedCats), MaleOwned = _petService.GetAllByAscendingPetName(maleOwnedCats) }; return(petsViewModel); }
/// <summary> /// Gets the Json data which is parsed, deserialized and sorted /// </summary> /// <returns></returns> public PetsViewModel GetPeoplePetsData() { PetsViewModel petsViewModel = new PetsViewModel(); List <PeopleModel> peoplePetModelList = new List <PeopleModel>(); HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri(JsonURL); HttpResponseMessage response = httpClient.GetAsync(httpClient.BaseAddress).Result; if (response != null) { JavaScriptSerializer js = new JavaScriptSerializer(); //Deserialized to List<PeopleModel> peoplePetModelList = (List <PeopleModel>)js.Deserialize(response.Content.ReadAsStringAsync().Result, typeof(List <PeopleModel>)); petsViewModel.MaleCats = ProcessViewModel(peoplePetModelList, MConst, TypeConst); petsViewModel.FemaleCats = ProcessViewModel(peoplePetModelList, FConst, TypeConst); } return(petsViewModel); }
public async Task <IActionResult> Index(int id = 1, bool deleted = false, bool updated = false, bool error = false) { var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); if (User.Identity.IsAuthenticated) { var page = id; var pageSize = appData.PageSize; var pets = _petMapper.MapPets(await _petService.GetPetsAsync(userId)); var count = pets.Count(); var pagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = count }; if (page > pagingInfo.TotalPages && pagingInfo.TotalPages != 0) { return(RedirectToAction("Index", "Pets", new { page = pagingInfo.TotalPages, deleted })); } var petsSkipped = pets.Skip((page - 1) * pageSize).Take(pageSize).ToList(); var model = new PetsViewModel { Pets = petsSkipped, PagingInfo = pagingInfo }; model.CrudInfo.Deleted = deleted; model.CrudInfo.Updated = updated; model.CrudInfo.Error = error; return(View(model)); } return(RedirectToAction("Index", "NotAuthorized")); }
public void SortedPetsTest() { //Arrange Mock <IProcessJsonDataService> _processMoqJsonDataService = new Mock <IProcessJsonDataService>(); _processMoqJsonDataService.Setup(service => service.GetPeoplePetsData()) .Returns(GetMocPetsViewModelData()); var testPeoplePetsController = new PeoplePetsController(_processMoqJsonDataService.Object); var moqResult = testPeoplePetsController.PeoplePets() as ViewResult; PetsViewModel moqPeoplePets = (PetsViewModel)moqResult.ViewData.Model; PetsViewModel peoplePets = _Service.GetPeoplePetsData(); //Action var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var expectedResult = serializer.Serialize(moqPeoplePets); var actualResult = serializer.Serialize(peoplePets); //Assert Assert.AreEqual(expectedResult, actualResult); }
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 }
public PetsListView() { InitializeComponent(); BindingContext = new PetsViewModel(); /*App.Pets = new List<PetModel> * { * new PetModel * { * ID = 1, * Name = "Dante", * Age = 12, * Breed = "Labrador", * Picture = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse4.mm.bing.net%2Fth%3Fid%3DOIP.yOsv0W4wnDncLprPl2cRMgHaK6%26pid%3DApi&f=1" * }, * new PetModel * { * ID = 2, * Name = "Kitty", * Age = 10, * Breed = "Snauzer", * Picture = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse1.mm.bing.net%2Fth%3Fid%3DOIP.X85MEmp4hP4_tsy_BmTC_wHaJQ%26pid%3DApi&f=1" * }, * new PetModel * { * ID = 3, * Name = "Simba", * Age = 1, * Breed = "Pastor Belga", * Picture = "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse1.mm.bing.net%2Fth%3Fid%3DOIP.FDJ7iq8UgNQzAv6n1ytb9wHaJ4%26pid%3DApi&f=1" * } * }; * * PetsList.ItemsSource = App.Pets;*/ }
public PetsPage() { InitializeComponent(); BindingContext = new PetsViewModel(); }
public PetViewerWindow(PetsViewModel petsViewModel) { InitializeComponent(); viewModel = petsViewModel; this.DataContext = viewModel; }
public PetsControllerShould() { using (StreamReader r = new StreamReader("people2.json")) { string json = r.ReadToEnd(); _petsViewModel = JsonConvert.DeserializeObject <PetsViewModel>(json); _petTypes = _petsViewModel.PetsFromMaleOwner.Select(p => p.Type) .Concat(_petsViewModel.PetsFromFemaleOwner.Select(p => p.Type)).Distinct() .Select(p => new PetType() { PetTypeName = p }).ToList(); var petsMale = _petsViewModel.PetsFromMaleOwner.Select(p => new Pet() { PetId = p.PetId, Name = p.Name, Type = _petTypes.FirstOrDefault(pt => pt.PetTypeName == p.Type), PersonPets = p.People.Select(ps => new PersonPet() { Person = new Person() { PersonId = ps.PersonId, Name = ps.Name, Gender = ps.Gender == "Male" ? Gender.Male : Gender.Female, Age = ps.Age, } }).ToList() }).ToList(); var petsFemale = _petsViewModel.PetsFromFemaleOwner.Select(p => new Pet() { PetId = p.PetId, Name = p.Name, Type = _petTypes.FirstOrDefault(pt => pt.PetTypeName == p.Type), PersonPets = p.People.Select(ps => new PersonPet() { Person = new Person() { PersonId = ps.PersonId, Name = ps.Name, Gender = ps.Gender == "Male" ? Gender.Male : Gender.Female, Age = ps.Age, } }).ToList() }).ToList(); // Project all pets with distinct name. _pets = (from p in petsMale.Concat(petsFemale).Distinct().ToList() group p by new { p.Name } into distinctNameGroup select distinctNameGroup.First()).ToList(); } _mockRepository = new Mock <IPeopleRepository>(); //_mockConfiguration = new Mock<IConfiguration>(); //_mockConfiguration.Setup(x => x["PeopleApi:BaseUrl"]).Returns("http://localhost:51888/"); //_mockConfiguration.Setup(x => x["PeopleApi:RequestUri"]).Returns("api/Pets"); _sut = new PetsController(_mockRepository.Object, null, null); }
public override void Setup() { base.Setup(); ViewModel = Container.Resolve <PetsViewModel>(); }
public OrgPetView() { InitializeComponent(); BindingContext = new PetsViewModel(); }
public async Task Index() { // Arrange var userId = "1"; var expectedPet = new Pet { ActivityEntries = null, ActivityLevel = 3, TargetActivity = 60, DOB = DateTime.Now, BodyCondtionScore = 4, Gender = "Male", Spayed = false, TargetCalories = 400, TargetWeight = 6.4f, UserId = "1", WeightEntries = null, MealEntries = null, PetId = 1142, PetName = "Filip", PetTypeId = 1, Photo = null }; var expectedPetViewModel = new PetViewModel(expectedPet); var expectedPets = new List <Pet> { expectedPet }; var expectedPetsViewModel = new List <PetViewModel> { expectedPetViewModel }; var expectedViewModel = new PetsViewModel { Pets = expectedPetsViewModel, CrudInfo = new CRUDInfo { Added = false, Deleted = false, Error = false, Updated = false }, PagingInfo = new PagingInfo { CurrentPage = 1, ItemsPerPage = 10, TotalItems = 1 } }; var mockService = new Mock <IPetService>(); mockService.Setup(s => s.GetPetsAsync(userId)) .ReturnsAsync(expectedPets); var mockMapper = new Mock <IPetMapper>(); mockMapper.Setup(s => s.MapPets(expectedPets)) .Returns(expectedPetsViewModel); var mockOptions = new Mock <IOptionsSnapshot <AppSettings> >(); var controller = new PetsController(mockService.Object, mockMapper.Object, mockOptions.Object); // Act var result = await controller.Index(); // Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <PetsViewModel>( viewResult.ViewData.Model); var petList = (ICollection <PetViewModel>)model.Pets; Assert.Equal(1, petList.Count); }
public PetsPage(PetsViewModel petViewModel) { BindingContext = ViewModel = petViewModel; InitializeComponent(); }