public bool agregarNuevoDepartamento(departamento nuevoDepartamento)
 {
     try
     {
         data.departamentos.InsertOnSubmit(nuevoDepartamento);
         data.SubmitChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
 public bool modificarDepartamento(departamento nuevoDepartamento)
 {
     try
     {
         departamento departamentoParaModificar = (from departamento in data.departamentos
                                           where departamento.idDepto == nuevoDepartamento.idDepto
                                           select departamento).Single();
         departamentoParaModificar.nbrDepto = nuevoDepartamento.nbrDepto;
         departamentoParaModificar.idEncargado = nuevoDepartamento.idEncargado;
         departamentoParaModificar.ubicacion = nuevoDepartamento.ubicacion;
         data.SubmitChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
		private void detach_departamentos(departamento entity)
		{
			this.SendPropertyChanging();
			entity.empleado = null;
		}
 partial void Deletedepartamento(departamento instance);
 partial void Updatedepartamento(departamento instance);
 partial void Insertdepartamento(departamento instance);
        /*
        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;
            }
        }