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)); }
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); } }
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)); }
/// <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); }
/// <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()); }
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>()); }
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>()); }
/// <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; }
protected override List <AsignacionInstrumentoLegalModel> ResolveCore(EmpresaBase source) { return (Mapper.Map <List <AsignacionInstrumentoLegal>, List <AsignacionInstrumentoLegalModel> >( new DaoProvider().GetDaoAsignacionInstrumentoLegal().GetByEmpresaId(source.Id))); }
/// <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); }