Esempio n. 1
0
 public List <OverviewAnimalViewModel> GetAllAnimalViewModels(AnimalCriteria criteria)
 {
     // Include doet een "eager load". Dit kan je het beste bekijken als een join over een gerelateerde table.
     return(_animalService.GetAllAnimalsSortedByName(new AnimalCriteria())
            .Select(x => CreateOverviewAnimalViewModel(x))
            .OrderBy(x => x.Name).ToList());
 }
        public IList <Animal> GetAnimals(AnimalCriteria criteria)
        {
            int?cageId  = null;
            int?groupId = null;

            if (criteria.CageId > 0)
            {
                cageId = criteria.CageId;
            }

            if (criteria.AnimalGroupId > 0)
            {
                groupId = criteria.AnimalGroupId;
            }

            IList <BreederStationDataLayer.Orm.Dto.Animal> dtoAnimals = animalGateway.Select(new BreederStationDataLayer.Orm.SelectCriteria.AnimalCriteria()
            {
                AnimalGroupId = groupId, CageId = cageId
            });
            IList <Animal> animals = new List <Animal>();

            foreach (BreederStationDataLayer.Orm.Dto.Animal dtoAnimal in dtoAnimals)
            {
                animals.Add(mapDtoToDomainObject(dtoAnimal));
            }

            animals = applyAnimalFilters(criteria, animals);
            return(animals);
        }
Esempio n. 3
0
 public List <Animal> GetAllAnimalsSortedByName(AnimalCriteria criteria)
 {
     return(GetFullyGraphedAnimals()
            .Where(x => string.IsNullOrEmpty(criteria.Name) ||
                   string.Equals(x.Name, criteria.Name, StringComparison.InvariantCultureIgnoreCase))
            .OrderBy(x => x.Name).ToList());
 }
Esempio n. 4
0
        public ActionResult AnimalSearch()
        {
            AnimalCriteria criteria = null;

            if (!isUserAdminDirectorOrBreeder())
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (TempData["SearchedAnimals"] != null)
            {
                ViewBag.SearchedAnimals = TempData["SearchedAnimals"];
            }

            if (TempData["LastCriteria"] != null)
            {
                criteria = (AnimalCriteria)TempData["LastCriteria"];
            }

            IList <AnimalGroup> groups = animalGroupService.GetAllAnimalGroups(false);

            groups.Insert(0, null);
            ViewBag.possibleGroups = groups;

            IList <Cage> cages = cageService.GetAllCages();

            cages.Insert(0, null);
            ViewBag.possibleCages = cages;
            return(View(criteria));
        }
Esempio n. 5
0
        public ActionResult SearchAnimals(AnimalCriteria criteria)
        {
            if (!isUserAdminDirectorOrBreeder())
            {
                return(RedirectToAction("Index", "Home"));
            }

            TempData["SearchedAnimals"] = animalService.GetAnimals(criteria);
            TempData["LastCriteria"]    = criteria;


            return(RedirectToAction("AnimalSearch", "Animal"));
        }
Esempio n. 6
0
        public IList <Animal> Select(AnimalCriteria criteria)
        {
            db.Connect();

            DbCommand command = db.CreateCommand(GetSelectSql());

            applyCriteria(criteria, command);
            DbDataReader reader = db.Select(command);

            IList <Animal> animals = Read(reader);

            reader.Close();
            db.Close();
            return(animals);
        }
        protected override void applyCriteria(AnimalCriteria criteria, DbCommand command)
        {
            SqlCommand sqlCommand = (SqlCommand)command;

            sqlCommand.CommandText += " WHERE ACTIVE = 1";
            if (criteria.AnimalGroupId != null)
            {
                sqlCommand.CommandText += " AND ag.id=@c_animal_group_id";
                sqlCommand.Parameters.Add("@c_animal_group_id", SqlDbType.Int).Value = criteria.AnimalGroupId;
            }

            if (criteria.CageId != null)
            {
                sqlCommand.CommandText += " AND c.id=@c_cage_id";
                sqlCommand.Parameters.Add("@c_cage_id", SqlDbType.Int).Value = criteria.CageId;
            }
        }
        protected override void applyCriteria(AnimalCriteria criteria, DbCommand command)
        {
            OracleCommand oracleCommand = (OracleCommand)command;

            oracleCommand.BindByName   = true;
            oracleCommand.CommandText += " WHERE ACTIVE = 1";
            if (criteria.AnimalGroupId != null)
            {
                oracleCommand.CommandText += " AND ag.id=:c_animal_group_id";
                oracleCommand.Parameters.Add("c_animal_group_id", OracleDbType.Int32).Value = criteria.AnimalGroupId;
            }

            if (criteria.CageId != null)
            {
                oracleCommand.CommandText += " AND c.id=:c_cage_id";
                oracleCommand.Parameters.Add("c_cage_id", OracleDbType.Int32).Value = criteria.CageId;
            }
        }
Esempio n. 9
0
        // A list of filtered animals from the animals stored in the shelter
        public List <IAnimal> GetAnimalsByCriteria(AnimalCriteria animalCriteria)
        {
            switch (animalCriteria)
            {
            case AnimalCriteria.AnimalsThatAreCats:
                return(Animals.Values.Where(a => a.AnimalType == AnimalType.Cat).ToList());

            case AnimalCriteria.AnimalsThatAreDogs:
                return(Animals.Values.Where(a => a.AnimalType == AnimalType.Dog).ToList());

            case AnimalCriteria.AnimalsThatCanFly:
                return(Animals.Values.Where(a => a.AnimalCanFly).ToList());

            default:
                return(Animals.Values.ToList());
            }
            ;
        }
Esempio n. 10
0
        private IList <Animal> applyAnimalFilters(AnimalCriteria criteria, IList <Animal> animals)
        {
            if (criteria.Age > 0)
            {
                animals = animals.Where(animal => animal.GetAnimalAge() == criteria.Age).ToList();
            }

            if (!String.IsNullOrEmpty(criteria.Name))
            {
                animals = animals.Where(animal => animal.Name.ToLower().Contains(criteria.Name.ToLower())).ToList();
            }

            if (!String.IsNullOrEmpty(criteria.Race))
            {
                animals = animals.Where(animal => animal.Race.ToLower().Contains(criteria.Race.ToLower())).ToList();
            }

            if (criteria.Sex != null)
            {
                animals = animals.Where(animal => animal.Sex == criteria.Sex).ToList();
            }
            return(animals);
        }
Esempio n. 11
0
 protected abstract void applyCriteria(AnimalCriteria criteria, DbCommand command);