Beispiel #1
0
        public IList <Reporte> reportePorTipoPermiso()
        {
            IList <Reporte> reportes = new List <Reporte>();

            unidades        = new NegocioUnidad().listado();
            solicitudes     = new NegocioSolicitud().listado();
            departamentos   = new NegocioDepartamento().listado();
            empleados       = new NegocioEmpleado().listado();
            listTipoPermiso = new NegocioTipoPermiso().listado();

            var query = from s in solicitudes
                        join t in listTipoPermiso
                        on s.idTipoPermiso equals t.idTipoPermiso
                        group s by new { t.nombreTipoPermiso } into r
                select new
            {
                tipoPermiso = r.Key.nombreTipoPermiso,
                cantidad    = r.Count(c => c.idSolicitud != null)
            };

            foreach (var item in query)
            {
                Reporte nuevo = new Reporte();
                nuevo.nombreUnidad      = string.Empty;
                nuevo.nombreTipoPermiso = item.tipoPermiso;
                nuevo.cantidadPermisos  = item.cantidad;

                reportes.Add(nuevo);
            }

            return(reportes);
        }
Beispiel #2
0
        public IList <Reporte> reportePorTipoPermisoDeUnidadInterna(int idUnidad)
        {
            IList <Reporte> reportes = new List <Reporte>();

            unidades        = new NegocioUnidad().listado();
            solicitudes     = new NegocioSolicitud().listado();
            departamentos   = new NegocioDepartamento().listado();
            empleados       = new NegocioEmpleado().listado();
            listTipoPermiso = new NegocioTipoPermiso().listado();

            var query = from s in solicitudes
                        join t in listTipoPermiso
                        on s.idTipoPermiso equals t.idTipoPermiso
                        join e in empleados
                        on s.rutAutorizante equals e.rut
                        join d in departamentos
                        on e.idDepartamento equals d.idDepartamento
                        where e.idDepartamento == idUnidad
                        group s by new { t.nombreTipoPermiso, d.nombreDepartamento } into r
                select new
            {
                nombreDepartamento = r.Key.nombreDepartamento,
                tipoPermiso        = r.Key.nombreTipoPermiso,
                cantidad           = r.Count(c => c.idSolicitud != null)
            };

            foreach (var item in query)
            {
                Reporte nuevo = new Reporte();
                nuevo.nombreUnidad      = item.nombreDepartamento;
                nuevo.nombreTipoPermiso = item.tipoPermiso;
                nuevo.cantidadPermisos  = item.cantidad;

                reportes.Add(nuevo);
            }

            return(reportes);
        }