Ejemplo n.º 1
0
        public IActionResult GetFavoriteAnimals(int id)
        {
            User _user = _userRepository.GetSingle(u => u.Id == id, u => u.FavoriteAnimals);

            if (_user != null)
            {
                List <AnimalDetailsViewModel> _animalViewModel = new List <AnimalDetailsViewModel>();

                foreach (var animal in _user.FavoriteAnimals)
                {
                    Animal                 _animalDb               = _animalRepository.GetSingle(a => a.Id == animal.AnimalId, a => a.AnimalsToAnimalShelter);
                    AnimalShelter          _animalShelterDb        = _animalShelterRepository.GetSingle(s => s.Id == _animalDb.AnimalsToAnimalShelter.AnimalShelterId);
                    AnimalDetailsViewModel _animalDetailsViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(_animalDb);
                    _animalDetailsViewModel.IsFavorite    = true;
                    _animalDetailsViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_animalShelterDb);
                    _animalViewModel.Add(_animalDetailsViewModel);
                }

                return(new OkObjectResult(_animalViewModel));
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Edit(AnimalDetailsViewModel model)
        {
            if (ModelState.IsValid)
            {
                var animal = await _animalRepository.GetAnimalWithUserAsync(model.Id);

                if (animal == null)
                {
                    return(NotFound());
                }

                if ((this.User.Identity.Name != animal.User.UserName) && !this.User.IsInRole("Admin"))
                {
                    return(NotFound());
                }

                model.ImageUrl = animal.ImageUrl;

                animal = _converterHelper.AnimalDetailsToAnimal(animal, model);

                await _animalRepository.UpdateAsync(animal);
            }

            model.User = await _userHelper.GetUserByEmailAsync(model.User.UserName);

            model.Appointments = _appointmentRepository.GetAnimalAppointments(model.Id);
            return(View("Details", model));
        }
Ejemplo n.º 3
0
        public IActionResult GetByUser(int id)
        {
            User _user = _userRepository.GetSingle(u => u.Id == id, u => u.FavoriteAnimals);

            if (_user != null)
            {
                IEnumerable <Animal> _animals = _animalRepository
                                                .AllIncluding(a => a.AnimalsToAnimalShelter)
                                                .OrderBy(a => a.Id)
                                                .ToList();

                IList <AnimalDetailsViewModel> _animalViewModel = new List <AnimalDetailsViewModel>();

                foreach (var animal in _animals)
                {
                    AnimalShelter          _animalShelterDb        = _animalShelterRepository.GetSingle(s => s.Id == animal.AnimalsToAnimalShelter.AnimalShelterId);
                    AnimalDetailsViewModel _animalDetailsViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(animal);
                    if (_user.FavoriteAnimals.Select(x => x.AnimalId).ToList().Contains(animal.Id))
                    {
                        _animalDetailsViewModel.IsFavorite = true;
                    }
                    _animalDetailsViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_animalShelterDb);
                    _animalViewModel.Add(_animalDetailsViewModel);
                }

                return(new OkObjectResult(_animalViewModel));
            }
            return(NotFound());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Edit(AnimalDetailsViewModel model)
        {
            var dto = _mapper.Map <AnimalDetailsDto>(model);

            await _animalDetailsService.UpdateAnimalDetailsAsync(dto);

            return(NoContent());
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Create(AnimalDetailsViewModel model)
        {
            var dto = _mapper.Map <AnimalDetailsDto>(model);

            var createdData = await _animalDetailsService.CreateAnimalDetailsAsync(dto);

            return(Ok(createdData));
        }
Ejemplo n.º 6
0
        public Animal AnimalDetailsToAnimal(Animal animal, AnimalDetailsViewModel model)
        {
            animal.Name        = model.Name;
            animal.Sex         = model.Sex;
            animal.DateOfBirth = model.DateOfBirth;
            animal.Species     = model.Species;
            animal.Breed       = model.Breed;

            return(animal);
        }
Ejemplo n.º 7
0
        public IActionResult AnimalDetails(int animalId, bool isSucceed = false)
        {
            var animalSorted   = _context.Animals.SingleOrDefault(a => a.AnimalId == animalId); //Saving the required animal to get details of
            var commentsSorted = _context.Comments.Where(c => c.AnimalId == animalId);          //Saving all the comments of the required animal

            ViewBag.isSucceed = isSucceed;                                                      //For alerting the user if the add comment operation succeeded

            AnimalDetailsViewModel animalDetailsViewModel = new AnimalDetailsViewModel()
            {
                Animal   = animalSorted,
                Comments = commentsSorted
            };

            return(View(animalDetailsViewModel));
        }
Ejemplo n.º 8
0
        public IActionResult GetDetails(int id)
        {
            Animal _animal = _animalRepository.GetSingle(a => a.Id == id, a => a.AnimalsToAnimalShelter);

            if (_animal != null)
            {
                AnimalDetailsViewModel _animalViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(_animal);

                AnimalShelter _animalShelterDb = _animalShelterRepository.GetSingle(s => s.Id == _animal.AnimalsToAnimalShelter.AnimalShelterId);
                _animalViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_animalShelterDb);

                return(new OkObjectResult(_animalViewModel));
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 9
0
        public IActionResult GetAll()
        {
            IEnumerable <Animal> _animals = _animalRepository
                                            .AllIncluding(a => a.AnimalsToAnimalShelter)
                                            .OrderBy(a => a.Id)
                                            .ToList();

            IList <AnimalDetailsViewModel> _animalViewModel = new List <AnimalDetailsViewModel>();

            foreach (var animal in _animals)
            {
                AnimalShelter          _animalShelterDb        = _animalShelterRepository.GetSingle(s => s.Id == animal.AnimalsToAnimalShelter.AnimalShelterId);
                AnimalDetailsViewModel _animalDetailsViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(animal);
                _animalDetailsViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_animalShelterDb);
                _animalViewModel.Add(_animalDetailsViewModel);
            }

            return(new OkObjectResult(_animalViewModel));
        }
        public IActionResult GetShelterAnimals(int id)
        {
            AnimalShelter _shelter = _animalShelterRepository.GetSingle(s => s.Id == id, s => s.Animals);

            if (_shelter != null)
            {
                List <AnimalDetailsViewModel> _animalsViewModel = new List <AnimalDetailsViewModel>();

                foreach (var animal in _shelter.Animals)
                {
                    Animal _animalDb = _animalRepository.GetSingle(animal.Id);
                    AnimalDetailsViewModel _animalViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(_animalDb);
                    _animalViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_shelter);
                    _animalsViewModel.Add(_animalViewModel);
                }

                return(new OkObjectResult(_animalsViewModel));
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 11
0
        public IActionResult GetByUserAndParams(int id, [FromBody] AnimalSearchViewModel animalsSearch)
        {
            User _user = _userRepository.GetSingle(u => u.Id == id, u => u.FavoriteAnimals);

            if (_user != null)
            {
                AnimalSexEnum         sex         = (AnimalSexEnum)Enum.Parse(typeof(AnimalSexEnum), animalsSearch.Sex);
                AnimalSpeciesEnum     species     = (AnimalSpeciesEnum)Enum.Parse(typeof(AnimalSpeciesEnum), animalsSearch.Species);
                AnimalAgeAccuracyEnum ageAccuracy = (AnimalAgeAccuracyEnum)Enum.Parse(typeof(AnimalAgeAccuracyEnum), animalsSearch.AgeAccuracy);
                DateTime dateFrom = animalsSearch.AgeFrom == -1 ? GetDate(30, AnimalAgeAccuracyEnum.Years) : GetDate(animalsSearch.AgeFrom, ageAccuracy);
                DateTime dateTo   = dateTo = animalsSearch.AgeTo == -1 ? GetDate(-30, AnimalAgeAccuracyEnum.Years) : GetDate(-animalsSearch.AgeTo, ageAccuracy);

                IEnumerable <Animal> _animals = _animalRepository.AllIncluding(a => a.AnimalsToAnimalShelter, a => a.AnimalsToAnimalShelter.AnimalShelter)
                                                .Where(a => a.Name.ToUpper().Contains(animalsSearch.Name.Length > 0 ? animalsSearch.Name.ToUpper() : a.Name.ToUpper()) &&
                                                       a.Breed.ToUpper().Contains(animalsSearch.Breed.Length > 0 ? animalsSearch.Breed.ToUpper() : a.Breed.ToUpper()) &&
                                                       a.Sex == sex && a.Species == species && a.DateOfBirth >= dateTo && a.DateOfBirth <= dateFrom &&
                                                       a.AnimalsToAnimalShelter.AnimalShelter.Name == animalsSearch.ShelterName).ToList();

                IList <AnimalDetailsViewModel> _animalViewModel = new List <AnimalDetailsViewModel>();

                foreach (var animal in _animals)
                {
                    AnimalShelter          _animalShelterDb        = _animalShelterRepository.GetSingle(s => s.Id == animal.AnimalsToAnimalShelter.AnimalShelterId);
                    AnimalDetailsViewModel _animalDetailsViewModel = Mapper.Map <Animal, AnimalDetailsViewModel>(animal);
                    if (_user.FavoriteAnimals.Select(x => x.AnimalId).ToList().Contains(animal.Id))
                    {
                        _animalDetailsViewModel.IsFavorite = true;
                    }
                    _animalDetailsViewModel.AnimalShelter = Mapper.Map <AnimalShelter, AnimalShelterViewModel>(_animalShelterDb);
                    _animalViewModel.Add(_animalDetailsViewModel);
                }

                return(new OkObjectResult(_animalViewModel));
            }
            return(NotFound());
        }