/*
        CREATE PROCEDURE proyecto.SP_getEmpleadosDepartamentoAno
        AS
        SELECT 
            case when (YEAR(fechaIngreso)) is null then 'Total' else str(YEAR(fechaIngreso)) end as ano,
            case when (idDepto) is null then 'Total' else str(idDepto) end as idDepto,
            COUNT(YEAR(fechaIngreso)) AS cantEmpleados
        FROM proyecto.Empleados 
        GROUP BY GROUPING SETS ((idDepto,YEAR(fechaIngreso)),(idDepto),())
        GO
        */
        public List<departamento> getEstadisticas()
        {
            try
            {
                var TareaData = new TareaDataClassesDataContext();
                var query = TareaData.SP_getEmpleadosDepartamentoAno();
                List<departamento> respuesta = new List<departamento>();

                foreach (var c in query)
                {
                    departamento departamentoNuevo = new departamento();
                    departamentoNuevo.idEncargado = c.ano.Value;
                    departamentoNuevo.nbrDepto = c.cantEmpleados.ToString();
                    departamentoNuevo.idDepto = c.idDepto.Value;
                    
                    respuesta.Add(departamentoNuevo);
                }
                return respuesta;
            }
            catch
            {
                return null;
            }
        }
 /*
 CREATE PROCEDURE proyecto.SP_getEmpleadosDepartamento @pIdDepto int
 AS
 SELECT idEmpleado, nbrEmpleado, idDepto, fechaIngreso, foto
 FROM proyecto.Empleados
 WHERE idDepto= @pIdDepto
 GO
 */
 public List<empleado> getEmpleadosDepartamento(empleado buscarEmpleado)
 {
     try
     {
         var TareaData = new TareaDataClassesDataContext();
         var query = TareaData.SP_getEmpleadosDepartamento(buscarEmpleado.idDepto);
         List<empleado> respuesta = new List<empleado>();
         
         foreach (var c in query)
         {
             empleado empleadoNuevo = new empleado();
             empleadoNuevo.idEmpleado = c.idEmpleado;
             empleadoNuevo.nbrEmpleado = c.nbrEmpleado;
             empleadoNuevo.idDepto = c.idDepto;
             empleadoNuevo.fechaIngreso = c.fechaIngreso;
             empleadoNuevo.foto = c.foto;
             respuesta.Add(empleadoNuevo);
         }
         return respuesta;
     }
     catch
     {
         return null;
     }
 }