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); }
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()); }
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)); }
public ActionResult SearchAnimals(AnimalCriteria criteria) { if (!isUserAdminDirectorOrBreeder()) { return(RedirectToAction("Index", "Home")); } TempData["SearchedAnimals"] = animalService.GetAnimals(criteria); TempData["LastCriteria"] = criteria; return(RedirectToAction("AnimalSearch", "Animal")); }
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; } }
// 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()); } ; }
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); }
protected abstract void applyCriteria(AnimalCriteria criteria, DbCommand command);