private IList <PrestadorServicio> ApplyFilters(Servicio servicio, HabilidadEspecifica habilidad, IList <PrestadorServicio> prestadores) { prestadores = serviciosPS.FilterByConcreteSkill(habilidad, prestadores); prestadores = serviciosPS.FilterByCost(servicio.PrecioMinimo, servicio.PrecioMaximo, habilidad, prestadores); prestadores = serviciosPS.FilterByHour(servicio.HoraServicio, servicio.HorasEstimadas, servicio.FechaServicio, prestadores); return(prestadores); }
public IList <PrestadorServicio> FilterByCost(decimal minimo, decimal maximo, HabilidadEspecifica habilidadEspecifica, IList <PrestadorServicio> prestadores) { IList <PrestadorServicio> prestadoresResultado = new List <PrestadorServicio>() { }; decimal precioPS = 0; if (minimo > 0 && maximo > 0) { foreach (PrestadorServicio prestador in prestadores) { precioPS = prestador.Habilidades.First(h => h.HabilidadEspecifica == habilidadEspecifica).PrecioHora; if (precioPS <= maximo && precioPS >= minimo) { prestadoresResultado.Add(prestador); } } } return(prestadoresResultado); }
public IList <PrestadorServicio> FilterByConcreteSkill(HabilidadEspecifica habilidadEspecifica, IList <PrestadorServicio> prestadores) { return(prestadores.Where(p => p.Habilidades.Count(h => h.HabilidadEspecifica == habilidadEspecifica) == 1).ToList()); }