public Boolean PonerEnProceso(int idCaso, int idEmpleado)
        {
            AccesoAdatos.GestorDeCasos  gestor       = new AccesoAdatos.GestorDeCasos();
            CasoEmpleadoAsignado        casoAsignado = new CasoEmpleadoAsignado();
            CoordinadorDeCasosAsignados coordinadorDeCasosAsignados = new CoordinadorDeCasosAsignados();
            CoordinadorDeEmpleados      coordinadorDeEmpleados      = new CoordinadorDeEmpleados();

            Boolean   seHaPodidoPonerEnProcesoElCaso = false;
            Boolean   seHaPodidoAsignarElCaso        = false;
            Casos     elCaso     = ObtenerCasoPorId(idCaso);
            Empleados elEmpleado = coordinadorDeEmpleados.ObtenerEmpleadoPorId(idEmpleado);

            if (!ExcedeTiempoParaPonerEnProceso(elCaso))
            {
                if (elCaso.Estado == (int)Estado.Registrado)
                {
                    casoAsignado.IdCasos      = elCaso.Id;
                    casoAsignado.IdEmpleados  = elEmpleado.Id;
                    elCaso.Estado             = (int)Estado.EnProceso;
                    elCaso.FechaInicioProceso = DateTime.Now;

                    seHaPodidoAsignarElCaso = coordinadorDeCasosAsignados.Asignar(casoAsignado);

                    if (seHaPodidoAsignarElCaso)
                    {
                        gestor.Actualizar(elCaso);
                        seHaPodidoPonerEnProcesoElCaso = true;
                    }
                }
            }
            return(seHaPodidoAsignarElCaso && seHaPodidoPonerEnProcesoElCaso);
        }
        public void Editar(Model.Casos elCaso)
        {
            AccesoAdatos.GestorDeCasos gestor = new AccesoAdatos.GestorDeCasos();

            if (elCaso.Estado == (int)Estado.Registrado || elCaso.Estado == (int)Estado.EnProceso)
            {
                gestor.Actualizar(elCaso);
            }
        }
        public void Rechazar(Model.Casos caso)
        {
            AccesoAdatos.GestorDeCasos gestor = new AccesoAdatos.GestorDeCasos();

            if (caso.Estado == (int)Estado.EnProceso)
            {
                caso.Estado = (int)Estado.Rechazado;
                gestor.Actualizar(caso);
            }
        }
        public void Eliminar(int id)
        {
            AccesoAdatos.GestorDeCasos gestor = new AccesoAdatos.GestorDeCasos();
            Casos caso = ObtenerCasoPorId(id);

            if (caso.Estado == (int)Estado.Registrado)
            {
                caso.Estado = (int)Estado.Eliminado;
                gestor.Actualizar(caso);
            }
        }
        public void Terminar(Model.Casos elCaso)
        {
            AccesoAdatos.GestorDeCasos gestor = new AccesoAdatos.GestorDeCasos();

            if (elCaso.Estado == (int)Estado.EnProceso)
            {
                elCaso.FechaResolucion = DateTime.Now;
                elCaso.Estado          = (int)Estado.Terminado;
                gestor.Actualizar(elCaso);
            }
        }
        public void Reactivar(int id)
        {
            AccesoAdatos.GestorDeCasos gestor = new AccesoAdatos.GestorDeCasos();
            Casos caso = ObtenerCasoPorId(id);

            if (caso.Estado == (int)Estado.Eliminado)
            {
                caso.Estado        = (int)Estado.Registrado;
                caso.FechaCreacion = DateTime.Now;
                gestor.Actualizar(caso);
            }
        }