private static void ComposeService()
        {
            var reader    = new ServiceReader();
            var viewModel = new PetsViewModel(reader);

            Application.Current.MainWindow = new PetViewerWindow(viewModel);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
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
        }
Exemplo n.º 6
0
 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);
        }
Exemplo n.º 8
0
        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);*/
        }
Exemplo n.º 11
0
        // 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);
        }
Exemplo n.º 14
0
        /// <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);
        }
Exemplo n.º 15
0
        // 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);
             * });
             */
        }
Exemplo n.º 16
0
        /// <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);
        }
Exemplo n.º 17
0
        /// <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);
        }
Exemplo n.º 18
0
        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"));
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
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
        }
Exemplo n.º 21
0
        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;*/
        }
Exemplo n.º 22
0
 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);
        }
Exemplo n.º 25
0
 public override void Setup()
 {
     base.Setup();
     ViewModel = Container.Resolve <PetsViewModel>();
 }
Exemplo n.º 26
0
 public OrgPetView()
 {
     InitializeComponent();
     BindingContext = new PetsViewModel();
 }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
 public PetsPage(PetsViewModel petViewModel)
 {
     BindingContext = ViewModel = petViewModel;
     InitializeComponent();
 }