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);
            }
        }
Esempio n. 2
0
        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);
        }