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); }
public IList <Resolucion> generarResolucion(int unidad, int año, int mes) { IList <Resolucion> reportes = new List <Resolucion>(); ConsumirWS ws = new ConsumirWS(); 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.rutSolicitante equals e.rut join d in departamentos on e.idDepartamento equals d.idDepartamento where d.idDepartamento == unidad && s.idEstado == 3 && s.fechaSolicitud.Year == año && s.fechaSolicitud.Month == mes group s by new { e.rut, t.nombreTipoPermiso, d.nombreDepartamento, s.fechaInicio, s.fechaTermino } into r select new { rut = r.Key.rut, nombrePermiso = r.Key.nombreTipoPermiso, departamento = r.Key.nombreDepartamento, fechaInicio = r.Key.fechaInicio, fechaTermino = r.Key.fechaTermino, cantidad = r.Count(c => c.idSolicitud != null) }; foreach (var item in query) { Resolucion resolucion = new Resolucion(); resolucion.cantidadPermisos = item.cantidad; resolucion.nombreTipoPermiso = item.nombrePermiso; resolucion.rut = item.rut; resolucion.departamento = item.departamento; if (ws.comprobarAsistencia(item.rut, item.fechaInicio.ToString("dd/MM/yyyy"), item.fechaTermino.ToString("dd/MM/yyyy"))) { reportes.Add(resolucion); } } return(reportes); }
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); }