Пример #1
0
        protected override List <AsignacionInspeccionEscuelaModel> ResolveCore(EmpresaBase source)
        {
            var daoProvider         = new DaoProvider();
            var listadoAsignaciones = new List <AsignacionInspeccionEscuela>();

            switch (source.TipoEmpresa)
            {
            case TipoEmpresaEnum.INSPECCION:
                listadoAsignaciones =
                    daoProvider.GetDaoAsignacionInspeccionEscuela().GetVigentesByInspeccion(source.Id);
                break;

            case TipoEmpresaEnum.ESCUELA_MADRE:
            case TipoEmpresaEnum.ESCUELA_ANEXO:
                var asignacionInspeccionEscuela =
                    daoProvider.GetDaoAsignacionInspeccionEscuela().GetVigenteByEscuela(source.Id);
                if (asignacionInspeccionEscuela != null)
                {
                    listadoAsignaciones.Add(asignacionInspeccionEscuela);
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(Mapper.Map <List <AsignacionInspeccionEscuela>,
                               List <AsignacionInspeccionEscuelaModel> >(listadoAsignaciones));
        }
Пример #2
0
        protected override List <TurnoModel> ResolveCore(EmpresaBase source)
        {
            List <TurnoModel> listaModelTurnos = new List <TurnoModel>();

            if (source.TipoEmpresa == TipoEmpresaEnum.ESCUELA_MADRE)
            {
                var escuela = new DaoProvider().GetDaoEscuela().GetById(source.Id);
                if (escuela.TurnosXEscuela != null)
                {
                    listaModelTurnos.AddRange(escuela.TurnosXEscuela.Select(t => Mapper.Map <Turno, TurnoModel>(t.Turno)));
                }
                return(listaModelTurnos);
            }
            else if (source.TipoEmpresa == TipoEmpresaEnum.ESCUELA_ANEXO)
            {
                var escuelaAnexo = new DaoProvider().GetDaoEscuelaAnexo().GetById(source.Id);
                if (escuelaAnexo.TurnosXEscuela != null)
                {
                    listaModelTurnos.AddRange(escuelaAnexo.TurnosXEscuela.Select(t => Mapper.Map <Turno, TurnoModel>(t.Turno)));
                }
                return(listaModelTurnos);
            }
            else
            {
                return(listaModelTurnos);
            }
        }
Пример #3
0
        protected override List <DiagramacionCursoRegistrarModel> ResolveCore(EmpresaBase source)
        {
            var daoProvider = new DaoProvider();
            List <DiagramacionCurso> listadoEstructuraEscolar = new List <DiagramacionCurso>();

            if (source.TipoEmpresa == TipoEmpresaEnum.ESCUELA_MADRE || source.TipoEmpresa == TipoEmpresaEnum.ESCUELA_ANEXO)
            {
                listadoEstructuraEscolar = daoProvider.GetDaoDiagramacionCurso().GetByEscuela(source.Id);
            }
            return(Mapper.Map <List <DiagramacionCurso>, List <DiagramacionCursoRegistrarModel> >(listadoEstructuraEscolar));
        }
Пример #4
0
        /// <summary>
        /// Obtiene una lista de escuelas segun filtro básico
        /// </summary>
        /// <param name="cue">CUE</param>
        /// <param name="codigoEmpresa">Codigo de la empresa</param>
        /// <param name="nombreEmpresa">Nombre de la empresa</param>
        /// <param name="idDepartamentoProvincial">Pertenece al domicilio</param>
        /// <param name="idLocalidad">Pertenece al domicilio</param>
        /// <param name="barrio">Pertenece al domicilio</param>
        /// <param name="calle">Pertenece al domicilio</param>
        /// <param name="altura">Pertenece al domicilio</param>
        /// <param name="estadoEmpresaEnum">Estado de la empresa</param>
        /// <returns>Devuelve una lista de escuelas que cumplan con los parametros de búsqueda</returns>
        public List <EscuelaAnexo> GetByFiltrosBasico(string cue, int?cueAnexo, string codigoEmpresa, string nombreEmpresa, int?idLocalidad, string barrio, string calle, int?altura, List <EstadoEmpresaEnum> estadoEmpresaEnum, int?idEmpresaUsuarioLogueado)
        {
            var escuela   = new EscuelaAnexo();
            var domicilio = new Domicilio();
            var query     = Session.QueryOver <EscuelaAnexo>(() => escuela);

            if (!string.IsNullOrEmpty(cue))
            {
                query.And(x => x.CUE.IsLike(cue));
            }
            if (cueAnexo.HasValue)
            {
                query.And(x => x.CUEAnexo == cueAnexo);
            }
            if (!string.IsNullOrEmpty(codigoEmpresa))
            {
                query.And(x => x.CodigoEmpresa.IsLike(codigoEmpresa));
            }
            if (!string.IsNullOrEmpty(nombreEmpresa))
            {
                query.And(x => x.Nombre.IsLike(nombreEmpresa));
            }

            if (idEmpresaUsuarioLogueado.HasValue)
            {
                var empresaRegistro = new EmpresaBase();
                query.JoinQueryOver(x => x.EmpresaRegistro, () => empresaRegistro);
                query.And(x => empresaRegistro.Id == idEmpresaUsuarioLogueado);
            }
            List <EscuelaAnexo> escuelas = (List <EscuelaAnexo>)query.List <EscuelaAnexo>();

            if (idLocalidad.HasValue || !string.IsNullOrEmpty(barrio) || !string.IsNullOrEmpty(calle) ||
                altura.HasValue)
            {
                foreach (EscuelaAnexo emp in escuelas)
                {
                    emp.Domicilio = new DaoDomicilio().GetByEntidad(emp.VinculoDomicilio, emp.Id);
                }
                escuelas = (List <EscuelaAnexo>)escuelas.Where(x => x.Domicilio.Localidad.Id == idLocalidad &&
                                                               (string.IsNullOrEmpty(barrio) ||
                                                                x.Domicilio.Barrio.Nombre.Contains(barrio)) &&
                                                               (string.IsNullOrEmpty(calle) ||
                                                                x.Domicilio.Calle.Nombre.Contains(calle)) &&
                                                               (!altura.HasValue || x.Domicilio.Altura == altura))
                           .ToList();
            }

            if (estadoEmpresaEnum != null && estadoEmpresaEnum.Count > 0)
            {
                return(escuelas.Where(x => estadoEmpresaEnum.Any(p => p == x.EstadoEmpresa)).ToList());
            }
            return(escuelas);
        }
Пример #5
0
        /// <summary>
        /// Trae todos los mabs de ausentismo de la empresa pasada por parametro con fecha desde o fecha hasta = fecha actual
        /// </summary>
        /// <param name="idEmpresa">id empresa</param>
        /// <returns>lista con los mabs.</returns>
        public List <DtoGestionAsignacionPorMab> GetByIdEmpresa(int idEmpresa)
        {
            var                        query                      = Session.QueryOver <Mab>();
            Asignacion                 asignacion                 = null;
            Agente                     agente                     = null;
            PersonaFisica              personaFisica              = null;
            TipoDocumento              tipoDocumento              = null;
            PuestoDeTrabajo            puestoDeTrabajo            = null;
            TipoCargo                  tipoCargo                  = null;
            EmpresaBase                empresaBase                = null;
            TipoNovedad                tipoNovedad                = null;
            CodigoMovimientoMab        codigoMovimientoMab        = null;
            DtoGestionAsignacionPorMab dtoGestionAsignacionPorMab = null;

            query.JoinAlias(x => x.TipoNovedad, () => tipoNovedad);
            query.JoinAlias(x => x.CodigoMovimiento, () => codigoMovimientoMab);
            query.JoinAlias(x => x.Asignacion, () => asignacion);
            query.JoinAlias(x => asignacion.Agente, () => agente);
            query.JoinAlias(x => asignacion.PuestoDeTrabajo, () => puestoDeTrabajo);
            query.JoinAlias(x => puestoDeTrabajo.TipoCargo, () => tipoCargo);
            query.JoinAlias(x => puestoDeTrabajo.Empresas[0], () => empresaBase);
            query.JoinAlias(x => agente.Persona, () => personaFisica);
            query.JoinAlias(x => personaFisica.TipoDocumento, () => tipoDocumento);

            query.And(x => empresaBase.Id == idEmpresa);
            query.And(x => tipoNovedad.Tipo == TipoNovedadEnum.AUSENTISMO.ToString());
            query.And(x => x.FechaDesde == DateTime.Now || x.FechaHasta == DateTime.Now);

            return(query.SelectList(list => list
                                    .Select(x => x.Id).WithAlias(() => dtoGestionAsignacionPorMab.Id)
                                    .Select(x => tipoNovedad.Tipo).WithAlias(() => dtoGestionAsignacionPorMab.TipoNovedad)
                                    .Select(x => tipoDocumento.Nombre).WithAlias(() => dtoGestionAsignacionPorMab.TipoDocumentoAgente)
                                    .Select(x => personaFisica.NumeroDocumento).WithAlias(() => dtoGestionAsignacionPorMab.NumeroDocumentoAgente)
                                    .Select(x => personaFisica.Apellido).WithAlias(() => dtoGestionAsignacionPorMab.ApellidoAgente)
                                    .Select(x => personaFisica.Nombre).WithAlias(() => dtoGestionAsignacionPorMab.NombreAgente)
                                    .Select(x => x.FechaDesde).WithAlias(() => dtoGestionAsignacionPorMab.FechaDesde)
                                    .Select(x => x.FechaHasta).WithAlias(() => dtoGestionAsignacionPorMab.FechaHasta)
                                    .Select(x => codigoMovimientoMab.Descripcion).WithAlias(() => dtoGestionAsignacionPorMab.CodigoMovimiento)
                                    .Select(x => empresaBase.Nombre).WithAlias(() => dtoGestionAsignacionPorMab.NombreEmpresa)
                                    .Select(x => empresaBase.CodigoEmpresa).WithAlias(() => dtoGestionAsignacionPorMab.CodigoEmpresa)
                                    .Select(x => tipoCargo.Nombre).WithAlias(() => dtoGestionAsignacionPorMab.Cargo))
                   .TransformUsing(Transformers.AliasToBean <DtoGestionAsignacionPorMab>()).List <DtoGestionAsignacionPorMab>().ToList());
        }
Пример #6
0
        public List <VinculoEmpresaEdificio> GetVinculoEmpresaEdificioByFilters(string filtroCodigoEmpresa, string filtroNombreEmpresa)
        {
            var query    = Session.QueryOver <VinculoEmpresaEdificio>();
            var empresa  = new EmpresaBase();
            var edificio = new Edificio();

            if (!String.IsNullOrEmpty(filtroCodigoEmpresa) || !String.IsNullOrEmpty(filtroNombreEmpresa))
            {
                query.JoinQueryOver <EmpresaBase>(x => x.Empresa, () => empresa);
                if (!String.IsNullOrEmpty(filtroCodigoEmpresa))
                {
                    query.Where(() => empresa.CodigoEmpresa == filtroCodigoEmpresa.ToUpper());
                }
                if (!String.IsNullOrEmpty(filtroNombreEmpresa))
                {
                    query.Where(() => empresa.Nombre == filtroNombreEmpresa.ToUpper());
                }
            }

            return((List <VinculoEmpresaEdificio>)query.List <VinculoEmpresaEdificio>());
        }
Пример #7
0
        public List <VinculoEmpresaEdificio> GetVinculoEmpresaEdificioByFilters(string filtroCodigoEmpresa, string filtroNombreEmpresa, string filtroCodigoEdificio, EstadoVinculoEmpresaEdificioEnum?filtroEstadoVinculo)
        {
            var query    = Session.QueryOver <VinculoEmpresaEdificio>();
            var empresa  = new EmpresaBase();
            var edificio = new Edificio();

            if (!String.IsNullOrEmpty(filtroCodigoEmpresa) || !String.IsNullOrEmpty(filtroNombreEmpresa))
            {
                query.JoinQueryOver <EmpresaBase>(x => x.Empresa, () => empresa);
                if (!String.IsNullOrEmpty(filtroCodigoEmpresa))
                {
                    query.WhereRestrictionOn(() => empresa.CodigoEmpresa).IsLike("%" + filtroCodigoEmpresa.ToUpper() +
                                                                                 "%");
                }
                if (!String.IsNullOrEmpty(filtroNombreEmpresa))
                {
                    query.WhereRestrictionOn(() => empresa.Nombre).IsLike("%" + filtroNombreEmpresa.ToUpper() +
                                                                          "%");
                }
            }

            if (filtroEstadoVinculo.HasValue)
            {
                query.And(x => x.Estado == filtroEstadoVinculo);
            }

            if (!String.IsNullOrEmpty(filtroCodigoEdificio))
            {
                query.JoinQueryOver <Edificio>(x => x.Edificio, () => edificio);
                query.WhereRestrictionOn(() => edificio.IdentificadorEdificio).IsLike("%" + filtroCodigoEdificio.ToUpper() +
                                                                                      "%");
            }


            return((List <VinculoEmpresaEdificio>)query.List <VinculoEmpresaEdificio>());
        }
Пример #8
0
        /// <summary>
        /// Obtiene una lista de escuelas segun filtro avanzado
        /// </summary>
        /// <param name="fechaAltaDesde">Fecha de alta (desde)</param>
        /// <param name="fechaAltaHasta">Fecha de alta (hasta)</param>
        /// <param name="fechaInicioActividadDesde">Fecha de inicio de actividades (desde)</param>
        /// <param name="fechaInicioActividadHasta">Fecha de inicio de actividades (hasta)</param>
        /// <param name="TipoEmpresaEnum">Tipo de empresa</param>
        /// <param name="numeroEscuela">Núero de escuela</param>
        /// <param name="tipoEscuelaEnum">Tipo de escuela</param>
        /// <param name="categoriaEscuelaEnum">Categoría de escuela</param>
        /// <param name="tipoEducacionEnum">Tipo educación </param>
        /// <param name="nivelEducativo">Nivel educativo</param>
        /// <param name="dependenciaEnum">Dependencia</param>
        /// <param name="ambitoEscuelaEnum">Ambito de escuela</param>
        /// <param name="esReligioso">Religioso</param>
        /// <param name="esArancelado">Arancelado</param>
        /// <param name="tipoInspeccionEnum">Tipo de inspección</param>
        /// <param name="idDepartamentoProvincial">Pertenece al domicilio</param>
        /// <param name="idLocalidad">Pertenece al domicilio</param>
        /// <param name="barrio">Pertenece al domicilio</param>
        /// <param name="calle">Pertenece al domicilio</param>
        /// <param name="altura">Pertenece al domicilio</param>
        /// <param name="estadoEmpresaEnum">Estado de la empresa</param>
        /// <param name="idObraSocial">Obra social</param>
        /// <param name="idPeriodoLectivo">Periodo lectivo</param>
        /// <returns>Devuelve una lista de escuelas que cumplan con los parametros de búsqueda</returns>
        public List <EscuelaAnexo> GetByFiltroAvanzado(DateTime?fechaAltaDesde, DateTime?fechaAltaHasta, DateTime?fechaInicioActividadDesde, DateTime?fechaInicioActividadHasta, TipoEmpresaEnum?tipoEmpresaEnum, int?numeroEscuela, int?tipoEscuelaEnum, CategoriaEscuelaEnum?categoriaEscuelaEnum, TipoEducacionEnum?tipoEducacionEnum, int?nivelEducativo, DependenciaEnum?dependenciaEnum, AmbitoEscuelaEnum?ambitoEscuelaEnum, bool?esReligioso, bool?esArancelado, TipoInspeccionEnum?tipoInspeccionEnum, int?idLocalidad, string barrio, string calle, int?altura, List <EstadoEmpresaEnum> estadoEmpresaEnum, int?idObraSocial, PeriodoLectivo periodoLectivo, Turno turno, string nombre, DateTime?fechaDesdeNotificacion, DateTime?fechaHastaNotificacion, int?idEmpresaUsuarioLogueado, string fltCodigoInspeccion)
        {
            var escuela         = new EscuelaAnexo();
            var _nivelEducativo = new NivelEducativo();
            var obraSocial      = new ObraSocial();
            var perLectivo      = new PeriodoLectivo();
            var turnoN          = new Turno();
            var nivelEducativoPorTipoEducacion = new NivelEducativoPorTipoEducacion();
            var empresaRegistro = new EmpresaBase();

            var query = Session.QueryOver <EscuelaAnexo>(() => escuela);

            if (idEmpresaUsuarioLogueado.HasValue)
            {
                query.JoinQueryOver(x => x.EmpresaRegistro, () => empresaRegistro);
                query.And(x => empresaRegistro.Id == idEmpresaUsuarioLogueado);
            }
            if (fechaAltaDesde.HasValue)
            {
                query.And(x => x.FechaAlta >= fechaAltaDesde);
            }
            if (fechaAltaHasta.HasValue)
            {
                query.And(x => x.FechaAlta <= fechaAltaHasta);
            }
            if (fechaInicioActividadDesde.HasValue)
            {
                query.And(x => x.FechaInicioActividad >= fechaInicioActividadDesde);
            }
            if (fechaInicioActividadHasta.HasValue)
            {
                query.And(x => x.FechaInicioActividad <= fechaInicioActividadHasta);
            }
            if (!string.IsNullOrEmpty(nombre))
            {
                query.And(x => x.Nombre.IsLike(nombre));
            }
            if (fechaDesdeNotificacion.HasValue)
            {
                query.And(x => x.FechaNotificacion >= fechaDesdeNotificacion);
            }
            if (fechaHastaNotificacion.HasValue)
            {
                query.And(x => x.FechaNotificacion <= fechaHastaNotificacion);
            }
            if (tipoEmpresaEnum.HasValue)
            {
                query.And(x => x.TipoEmpresa == tipoEmpresaEnum);
            }
            if (numeroEscuela.HasValue)
            {
                query.And(x => x.NumeroEscuela == numeroEscuela);
            }
            if (categoriaEscuelaEnum.HasValue)
            {
                query.And(x => x.TipoCategoria == categoriaEscuelaEnum);
            }
            if (tipoEducacionEnum.HasValue)
            {
                query.And(x => x.TipoEducacion == tipoEducacionEnum);
            }
            if (nivelEducativo.HasValue)
            {
                query.JoinQueryOver(x => x.NivelesEducativo, () => nivelEducativoPorTipoEducacion);
                query.JoinQueryOver(x => nivelEducativoPorTipoEducacion.NivelEducativo, () => _nivelEducativo);
                query.And(x => _nivelEducativo.Id == nivelEducativo);
            }
            if (!string.IsNullOrEmpty(fltCodigoInspeccion))
            {
                query.And(x => x.CodigoInspeccion == fltCodigoInspeccion);
            }
            if (dependenciaEnum.HasValue)
            {
                query.And(x => x.Dependencia == dependenciaEnum);
            }
            if (ambitoEscuelaEnum.HasValue)
            {
                query.And(x => x.Ambito == ambitoEscuelaEnum);
            }
            if (esReligioso.HasValue)
            {
                query.And(Restrictions.Eq("Religioso", esReligioso.Value ? 'Y' : 'N'));
            }
            if (esArancelado.HasValue)
            {
                query.And(Restrictions.Eq("Arancelado", esArancelado.Value ? 'Y' : 'N'));
            }
            if (idObraSocial.HasValue)
            {
                query.JoinQueryOver <ObraSocial>(() => obraSocial);
                query.And(() => obraSocial.Id == idObraSocial);
            }
            if (periodoLectivo != null)
            {
                query.JoinQueryOver <PeriodoLectivo>(() => perLectivo);
                query.And(() => perLectivo.Id == periodoLectivo.Id);
            }
            if (turno != null)
            {
                query.JoinQueryOver <Turno>(() => turnoN);
                query.And(() => turnoN.Id == turno.Id);
            }
            List <EscuelaAnexo> listadoEscuelas = (List <EscuelaAnexo>)query.List <EscuelaAnexo>();

            List <EscuelaAnexo> listaEscuela = new List <EscuelaAnexo>();

            if (estadoEmpresaEnum != null && estadoEmpresaEnum.Count > 0)
            {
                foreach (var est in estadoEmpresaEnum)
                {
                    listaEscuela.AddRange(listadoEscuelas.Where(esc => esc.EstadoEmpresa == est));
                }
                return(listaEscuela);
            }
            return(listadoEscuelas);


            //if (idLocalidad.HasValue || !string.IsNullOrEmpty(barrio) || !string.IsNullOrEmpty(calle) || altura.HasValue)
            //{
            //    foreach (Escuela emp in escuelas)
            //    {
            //        emp.Domicilio = new DaoDomicilio().GetByEntidad(emp.VinculoDomicilio, emp.Id);
            //    }
            //    escuelas = (List<Escuela>)escuelas.Where(x => x.Domicilio.Localidad.Id == idLocalidad &&
            //        x.Domicilio.Barrio.Nombre.Contains(barrio) && x.Domicilio.Calle.Nombre.Contains(calle)
            //        && x.Domicilio.Altura == altura);
            //}
            //return escuelas;
        }
Пример #9
0
 protected override List <AsignacionInstrumentoLegalModel> ResolveCore(EmpresaBase source)
 {
     return
         (Mapper.Map <List <AsignacionInstrumentoLegal>, List <AsignacionInstrumentoLegalModel> >(
              new DaoProvider().GetDaoAsignacionInstrumentoLegal().GetByEmpresaId(source.Id)));
 }
Пример #10
0
        /// <summary>
        /// Obtiene una lista de escuelas segun filtro básico
        /// </summary>
        /// <param name="cue">CUE</param>
        /// <param name="codigoEmpresa">Codigo de la empresa</param>
        /// <param name="nombreEmpresa">Nombre de la empresa</param>
        /// <param name="idDepartamentoProvincial">Pertenece al domicilio</param>
        /// <param name="idLocalidad">Pertenece al domicilio</param>
        /// <param name="barrio">Pertenece al domicilio</param>
        /// <param name="calle">Pertenece al domicilio</param>
        /// <param name="altura">Pertenece al domicilio</param>
        /// <param name="estadoEmpresaEnum">Estado de la empresa</param>
        /// <returns>Devuelve una lista de escuelas que cumplan con los parametros de búsqueda</returns>
        public List <Escuela> GetByFiltrosBasico(string cue, int?cueAnexo, string codigoEmpresa, string nombreEmpresa, int?idLocalidad, string barrio, string calle, int?altura, List <EstadoEmpresaEnum> estadoEmpresaEnum, bool?esRaiz, int?idEmpresaUsuarioLogueado, int?idEmpresaDependintePadre)
        {
            //idEmpresaDependintePadre es el id de la empresa el cual le estamos modificando o la empresa inspeccion/padre/madre etc
            var escuela = new Escuela();

            var domicilio = new Domicilio();
            var query     = Session.QueryOver <Escuela>(() => escuela);

            var empresaRegistro = new EmpresaBase();

            if (idEmpresaUsuarioLogueado.HasValue)
            {
                query.JoinQueryOver(x => x.EmpresaRegistro, () => empresaRegistro);
                query.And(x => empresaRegistro.Id == idEmpresaUsuarioLogueado);
            }
            if (!string.IsNullOrEmpty(cue))
            {
                query.And(x => x.CUE.IsLike(cue));
            }
            if (cueAnexo.HasValue)
            {
                query.And(x => x.CUEAnexo == cueAnexo);
            }
            if (!string.IsNullOrEmpty(codigoEmpresa))
            {
                query.And(x => x.CodigoEmpresa.IsLike(codigoEmpresa));
            }
            if (!string.IsNullOrEmpty(nombreEmpresa))
            {
                query.And(x => x.Nombre.IsLike(nombreEmpresa));
            }
            if (esRaiz.HasValue)
            {
                query.And(Restrictions.Eq("EsRaiz", esRaiz.Value ? 'Y' : 'N'));
            }


            if (esRaiz.HasValue && esRaiz.Value && idEmpresaDependintePadre.HasValue)
            {
                query.And(x => x.Id != idEmpresaDependintePadre);
            }



            var escuelas = (List <Escuela>)query.List <Escuela>();

            //TODO mejorar el filtrado por domicilio; hasta ahora se obtiene el listado de empresa y se filtra recien ahi (pesimo!)
            if (idLocalidad.HasValue || !string.IsNullOrEmpty(barrio) || !string.IsNullOrEmpty(calle) ||
                altura.HasValue)
            {
                barrio = barrio != string.Empty ? barrio.ToUpper() : string.Empty;
                calle  = calle != string.Empty ? calle.ToUpper() : string.Empty;

                foreach (Escuela emp in escuelas)
                {
                    emp.Domicilio = new DaoDomicilio().GetByEntidad(emp.VinculoDomicilio, emp.Id);
                }
                escuelas = (List <Escuela>)escuelas.Where(x => x.Domicilio.Localidad.Id == idLocalidad &&
                                                          (string.IsNullOrEmpty(barrio) ||
                                                           x.Domicilio.Barrio.Nombre.Contains(barrio)) &&
                                                          (string.IsNullOrEmpty(calle) ||
                                                           x.Domicilio.Calle.Nombre.Contains(calle)) &&
                                                          (!altura.HasValue || x.Domicilio.Altura == altura))
                           .ToList();
            }

            if (estadoEmpresaEnum != null && estadoEmpresaEnum.Count > 0)
            {
                return(escuelas.Where(x => estadoEmpresaEnum.Any(p => p == x.EstadoEmpresa)).ToList());
            }
            return(escuelas);
        }