public void Validate(ParametrosBusquedaVehiculo parametros) { if (string.IsNullOrWhiteSpace(parametros.FechaDesde) || string.IsNullOrWhiteSpace(parametros.FechaHasta)) { throw new ValidationException(MessageParametroAusente); } if (DateTime.Compare(parametros.FechaDesdeAsDateTime(), parametros.FechaHastaAsDateTime()) > 0) { throw new FormatException(MessageErrorFechas); } }
public List <Vehiculo> Listar(ParametrosBusquedaVehiculo parametros) { /* Se obtienen los IDs de vehículos en operación entre el rango de fecha de los parámetros de búsqueda */ ISet <int> idsVehiculosEnOperacion = higoContext.Operacion .Where(o => operacionUtils.BetweenDateTimes(o, parametros.FechaDesdeAsDateTime(), parametros.FechaHastaAsDateTime())) .Select(o => o.IdVehiculo) .ToHashSet(); List <Vehiculo> vehiculos = higoContext.Vehiculo .Include(ModeloMarcaNavigationPropertyPath) .Include(v => v.IdCilindradaNavigation) .Include(v => v.IdEstadoVehiculoNavigation) .Where(v => !idsVehiculosEnOperacion.Contains(v.IdVehiculo)) .Where(v => EstadoVehiculo.ACTIVO.ToString().Equals(v.IdEstadoVehiculoNavigation.Codigo)) .Where(v => vehiculoUtils.MatchLocationIfPresent(v.Pais, parametros.Pais)) .Where(v => vehiculoUtils.MatchLocationIfPresent(v.Provincia, parametros.Provincia)) .Where(v => vehiculoUtils.MatchLocationIfPresent(v.Partido, parametros.Partido)) .Where(v => vehiculoUtils.MatchLocationIfPresent(v.Localidad, parametros.Localidad)) .OrderBy(v => v.IdVehiculo) .ToList(); return(vehiculos); }