Exemple #1
0
        internal void EliminarDocumentosTramite(string idTramite, SqlTransaction tran)
        {
            UtilidadesDB db = new UtilidadesDB();

            try
            {
                SqlCommand cmdEliminarDocs = db.GenerarStoreProcedure("sp_EliminarDocumentosTramite", tran.Connection);
                cmdEliminarDocs.Parameters.AddWithValue("@codigo", idTramite);
                cmdEliminarDocs.Transaction = tran;
                db.GenerarValueReturn(cmdEliminarDocs);

                cmdEliminarDocs.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro el tramite indicado.");

                case -9:
                    throw new Exception("Error al eliminar documentos tramite.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        internal TipoTramite BuscarTramite(string idTramite, Empleado user)
        {
            Conexion     conexion = new Conexion(user);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                TipoTramite tramite          = null;
                SqlCommand  cmdBuscarTramite = db.GenerarStoreProcedure("sp_BuscarTramite", conexion.GetSqlConnection());
                cmdBuscarTramite.Parameters.AddWithValue("@codigoTramite", idTramite);

                SqlDataReader rdTramite = cmdBuscarTramite.ExecuteReader();

                if (rdTramite.HasRows)
                {
                    rdTramite.Read();
                    List <Documento> docsTramite = BuscarDocumentosTramite(rdTramite["Codigo"].ToString());
                    tramite = new TipoTramite(rdTramite["Codigo"].ToString(), rdTramite["Nombre"].ToString(), rdTramite["Descripcion"].ToString(),
                                              Convert.ToDecimal(rdTramite["Precio"].ToString()), docsTramite);
                    rdTramite.Close();
                }

                return(tramite);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #3
0
        internal void AsociarDocumentoTramite(Documento doc, string idTramite, SqlTransaction tran)
        {
            UtilidadesDB db = new UtilidadesDB();

            try
            {
                SqlCommand cmdAsociarDoc = db.GenerarStoreProcedure("sp_AgregarDocumentoTramite", tran.Connection);
                cmdAsociarDoc.Parameters.AddWithValue("@codigoTramite", idTramite);
                cmdAsociarDoc.Parameters.AddWithValue("@idDocumento", doc.Id);
                cmdAsociarDoc.Transaction = tran;
                db.GenerarValueReturn(cmdAsociarDoc);

                cmdAsociarDoc.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("Ya existe el documento asociado al tramite.");

                case -9:
                    throw new Exception("Error al asociar documento al tramite.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void EliminarDocumento(int id, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();

                SqlCommand cmdEliminarDoc = db.GenerarStoreProcedure("sp_EliminarDocumento", conexion.GetSqlConnection());
                cmdEliminarDoc.Parameters.AddWithValue("@id", id);

                db.GenerarValueReturn(cmdEliminarDoc);

                cmdEliminarDoc.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No existe un documento con los datos ingresados.");

                case -9:
                    throw new Exception("Error al modificar documento.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        internal Documento BuscarDocumento(int id)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                Documento doc = null;
                conexion.Conectar();

                SqlCommand cmdBuscarDoc = db.GenerarStoreProcedure("sp_BuscarDocumento", conexion.GetSqlConnection());
                cmdBuscarDoc.Parameters.AddWithValue("@id", id);

                db.GenerarValueReturn(cmdBuscarDoc);

                SqlDataReader rdDocumento = cmdBuscarDoc.ExecuteReader();

                if (rdDocumento.HasRows)
                {
                    rdDocumento.Read();
                    doc = new Documento(Convert.ToInt32(rdDocumento["Id"].ToString()), rdDocumento["Nombre"].ToString(), rdDocumento["LugarSolicitud"].ToString());
                    rdDocumento.Close();
                }

                return(doc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #6
0
        public void EliminarEmpleado(Empleado empleado, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                SqlCommand cmdEliminarEmp = db.GenerarStoreProcedure("sp_EliminarEmpleado", conexion.GetSqlConnection());

                cmdEliminarEmp.Parameters.AddWithValue("doc", empleado.Documento);

                db.GenerarValueReturn(cmdEliminarEmp);

                cmdEliminarEmp.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro empleado para eliminar.");

                case -9:
                    throw new Exception("Error al eliminar empleado.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public List <Documento> ObtenerDocumentos(Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                List <Documento> docs = new List <Documento>();
                conexion.Conectar();

                SqlCommand cmdObtenerDocs = db.GenerarStoreProcedure("sp_ObtenerDocumentos", conexion.GetSqlConnection());

                SqlDataReader rdDocs = cmdObtenerDocs.ExecuteReader();

                if (rdDocs.HasRows)
                {
                    while (rdDocs.Read())
                    {
                        docs.Add(new Documento(Convert.ToInt32(rdDocs["Id"].ToString()), rdDocs["Nombre"].ToString(), rdDocs["LugarSolicitud"].ToString()));
                    }
                    rdDocs.Close();
                }

                return(docs);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #8
0
        public void ModificarTramite(TipoTramite tramite, Empleado user)
        {
            Conexion     conexion = new Conexion(user);
            UtilidadesDB db       = new UtilidadesDB();

            conexion.Conectar();
            SqlCommand cmdModificarTramite = db.GenerarStoreProcedure("sp_ModificarTipoTramite", conexion.GetSqlConnection());

            try
            {
                cmdModificarTramite.Parameters.AddWithValue("@codigo", tramite.Codigo);
                cmdModificarTramite.Parameters.AddWithValue("@nombre", tramite.Nombre);
                cmdModificarTramite.Parameters.AddWithValue("@descripcion", tramite.Descripcion);
                cmdModificarTramite.Parameters.AddWithValue("@precio", tramite.Precio);
                db.GenerarValueReturn(cmdModificarTramite);

                cmdModificarTramite.Transaction = conexion.GetSqlConnection().BeginTransaction();

                cmdModificarTramite.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No existe el tipo de tramite indicado.");

                case -9:
                    throw new Exception("Error al modificar tramite.");
                }

                EliminarDocumentosTramite(tramite.Codigo, cmdModificarTramite.Transaction);

                foreach (Documento doc in tramite.DocumentosRequeridos)
                {
                    AsociarDocumentoTramite(doc, tramite.Codigo, cmdModificarTramite.Transaction);
                }

                cmdModificarTramite.Transaction.Commit();
            }
            catch (Exception ex)
            {
                cmdModificarTramite.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #9
0
        public void AgregarEmpleado(Empleado empleado, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                SqlCommand cmdAgregarEmp = db.GenerarStoreProcedure("sp_NuevoEmpleado", conexion.GetSqlConnection());

                cmdAgregarEmp.Parameters.AddWithValue("doc", empleado.Documento);
                cmdAgregarEmp.Parameters.AddWithValue("contrasena", empleado.Contrasena);
                cmdAgregarEmp.Parameters.AddWithValue("nombre", empleado.NombreCompleto);
                cmdAgregarEmp.Parameters.AddWithValue("horaEntrada", empleado.HoraEntrada);
                cmdAgregarEmp.Parameters.AddWithValue("horaSalida", empleado.HoraSalida);
                db.GenerarValueReturn(cmdAgregarEmp);

                cmdAgregarEmp.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se pudo crear el login empleado.");

                case -2:
                    throw new Exception("Error al crear nuevo empleado.");

                case -3:
                    throw new Exception("Ya existe un usuario con los datos ingresados.");

                case -9:
                    throw new Exception("Error al agregar empleado.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public void AgregarSolicitante(Solicitante solicitante)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                SqlCommand cmdAgregarSolicitante = db.GenerarStoreProcedure("sp_NuevoSolicitante", conexion.GetSqlConnection());

                cmdAgregarSolicitante.Parameters.AddWithValue("@doc", solicitante.Documento);
                cmdAgregarSolicitante.Parameters.AddWithValue("@contrasena", solicitante.Contrasena);
                cmdAgregarSolicitante.Parameters.AddWithValue("@nombre", solicitante.NombreCompleto);
                cmdAgregarSolicitante.Parameters.AddWithValue("@telefono", solicitante.Telefono);

                db.GenerarValueReturn(cmdAgregarSolicitante);

                cmdAgregarSolicitante.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                case -2:
                    throw new Exception("No se pudo crear el usuario correctamente.");

                case -3:
                    throw new Exception("Ya existe usuario con los datos ingresados.");

                case -9:
                    throw new Exception("Error al crear el usuario.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public List <Solicitud> ListadoSolicitudes(Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                List <Solicitud> solicitudes = new List <Solicitud>();
                conexion.Conectar();

                SqlCommand cmdSolicitudes = db.GenerarStoreProcedure("sp_ObtenerSolicitudes", conexion.GetSqlConnection());

                SqlDataReader rdSolicitudes = cmdSolicitudes.ExecuteReader();

                if (rdSolicitudes.HasRows)
                {
                    solicitudes = new List <Solicitud>();

                    while (rdSolicitudes.Read())
                    {
                        Solicitante emisor    = perSolicitante.BuscarSolicitante(rdSolicitudes["NumDocumento"].ToString());
                        TipoTramite tipo      = perTipoTramite.BuscarTramite(rdSolicitudes["IdTipoTramite"].ToString(), userLogin);
                        Solicitud   solicitud = new Solicitud(Convert.ToInt64(rdSolicitudes["Codigo"].ToString()), Convert.ToDateTime(rdSolicitudes["FechaHora"].ToString()),
                                                              rdSolicitudes["Estado"].ToString(), tipo, emisor);

                        solicitudes.Add(solicitud);
                    }
                    rdSolicitudes.Close();
                }

                return(solicitudes);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #12
0
        public void EliminarTramite(TipoTramite tramite, Empleado user)
        {
            Conexion     conexion = new Conexion(user);
            UtilidadesDB db       = new UtilidadesDB();

            conexion.Conectar();

            SqlCommand cmdEliminarTramite = db.GenerarStoreProcedure("sp_EliminarTipoTramite", conexion.GetSqlConnection());

            try
            {
                cmdEliminarTramite.Transaction = conexion.GetSqlConnection().BeginTransaction();

                cmdEliminarTramite.Parameters.AddWithValue("@codigo", tramite.Codigo);
                db.GenerarValueReturn(cmdEliminarTramite);

                EliminarDocumentosTramite(tramite.Codigo, cmdEliminarTramite.Transaction);

                cmdEliminarTramite.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro tramite para eliminar.");

                case -9:
                    throw new Exception("Error al eliminar tramite.");
                }
                cmdEliminarTramite.Transaction.Commit();
            }
            catch (Exception ex)
            {
                cmdEliminarTramite.Transaction.Rollback();
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #13
0
        public void ModificarEmpleado(Empleado empleado, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                SqlCommand cmdModificarEmp = db.GenerarStoreProcedure("sp_ModificarEmpleado", conexion.GetSqlConnection());

                cmdModificarEmp.Parameters.AddWithValue("doc", empleado.Documento);
                cmdModificarEmp.Parameters.AddWithValue("contrasena", empleado.Contrasena);
                cmdModificarEmp.Parameters.AddWithValue("oldContrasena", userLogin.Contrasena);
                cmdModificarEmp.Parameters.AddWithValue("nombre", empleado.NombreCompleto);
                cmdModificarEmp.Parameters.AddWithValue("horaEntrada", empleado.HoraEntrada);
                cmdModificarEmp.Parameters.AddWithValue("horaSalida", empleado.HoraSalida);
                cmdModificarEmp.Parameters.AddWithValue("modificarContrasena", Convert.ToInt16(empleado.Documento == userLogin.Documento));

                db.GenerarValueReturn(cmdModificarEmp);

                cmdModificarEmp.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro empleado para modificar.");

                case -9:
                    throw new Exception("Error al modificar empleado.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public void AgregarSolicitud(Solicitud solicitud, Solicitante userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();

                SqlCommand cmdAgregarSolicitud = db.GenerarStoreProcedure("sp_AgregarSolicitud", conexion.GetSqlConnection());

                cmdAgregarSolicitud.Parameters.AddWithValue("@docSolicitante", solicitud.Emisor.Documento);
                cmdAgregarSolicitud.Parameters.AddWithValue("@fechaHora", solicitud.FechaHora);
                cmdAgregarSolicitud.Parameters.AddWithValue("@idTipoTramite", solicitud.Tipo.Codigo);

                db.GenerarValueReturn(cmdAgregarSolicitud);

                cmdAgregarSolicitud.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("Ya tiene una solicitud generada para esta fecha y hora.");

                case -2:
                    throw new Exception("Existe una solicitud del mismo tipo de tramite sin finalizar.");

                case -9:
                    throw new Exception("Error al generar nueva solicitud.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #15
0
        public Empleado BuscarEmpleado(string documento)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                Empleado empleado = null;
                conexion.Conectar();

                SqlCommand cmdBuscarEmpleado = db.GenerarStoreProcedure("sp_BuscarEmpleado", conexion.GetSqlConnection());
                cmdBuscarEmpleado.Parameters.AddWithValue("doc", documento);

                SqlDataReader rdEmpleado = cmdBuscarEmpleado.ExecuteReader();

                if (rdEmpleado.HasRows)
                {
                    rdEmpleado.Read();

                    string horaEntrada = rdEmpleado["HoraEntrada"].ToString();
                    string horaSalida  = rdEmpleado["HoraSalida"].ToString();

                    List <HoraExtra> horasExtras = ObtenerHorasExtras(documento);
                    empleado = new Empleado(rdEmpleado["NumeroDocumento"].ToString(), rdEmpleado["Contrasena"].ToString(), rdEmpleado["NombreCompleto"].ToString(),
                                            horaEntrada.Substring(0, horaEntrada.Length - 3), horaSalida.Substring(0, horaSalida.Length - 3), horasExtras);
                    rdEmpleado.Close();
                }

                return(empleado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #16
0
        public void AgregarHorasExtras(Empleado empleado)
        {
            Conexion     conexion = new Conexion(empleado);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                SqlCommand cmdAgregarExtras = db.GenerarStoreProcedure("sp_AgregarExtras", conexion.GetSqlConnection());


                HoraExtra horaExtraActual = empleado.HorasExtrasGeneradas.FirstOrDefault(f => f.Fecha.Date == DateTime.Now);

                cmdAgregarExtras.Parameters.AddWithValue("doc", empleado.Documento);
                cmdAgregarExtras.Parameters.AddWithValue("fecha", horaExtraActual.Fecha);
                cmdAgregarExtras.Parameters.AddWithValue("minutos", horaExtraActual.Minutos);

                db.GenerarValueReturn(cmdAgregarExtras);

                cmdAgregarExtras.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro empleado.");

                case -9:
                    throw new Exception("Error al agregar extras empleado.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #17
0
        internal List <Documento> BuscarDocumentosTramite(string idTramite)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();
                List <Documento> documentos     = null;
                SqlCommand       cmdTramitesDoc = db.GenerarStoreProcedure("sp_BuscarDocumentosTramite", conexion.GetSqlConnection());
                cmdTramitesDoc.Parameters.AddWithValue("@codigoTramite", idTramite);

                SqlDataReader rdTramitesDoc = cmdTramitesDoc.ExecuteReader();

                if (rdTramitesDoc.HasRows)
                {
                    documentos = new List <Documento>();

                    while (rdTramitesDoc.Read())
                    {
                        Documento doc = perDocumento.BuscarDocumento(Convert.ToInt32(rdTramitesDoc["IdDocumento"].ToString()));
                        documentos.Add(doc);
                    }

                    rdTramitesDoc.Close();
                }

                return(documentos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #18
0
        public List <TipoTramite> ObtenerTramites()
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                List <TipoTramite> tramites = new List <TipoTramite>();

                conexion.Conectar();
                SqlCommand cmdTramites = db.GenerarStoreProcedure("sp_ObtenerTramites", conexion.GetSqlConnection());

                SqlDataReader rdTramites = cmdTramites.ExecuteReader();

                if (rdTramites.HasRows)
                {
                    tramites = new List <TipoTramite>();

                    while (rdTramites.Read())
                    {
                        List <Documento> docsTramite = BuscarDocumentosTramite(rdTramites["Codigo"].ToString());

                        TipoTramite tramite = new TipoTramite(rdTramites["Codigo"].ToString(), rdTramites["Nombre"].ToString(), rdTramites["Descripcion"].ToString(),
                                                              Convert.ToDecimal(rdTramites["Precio"].ToString()), docsTramite);

                        tramites.Add(tramite);
                    }

                    rdTramites.Close();
                }

                return(tramites);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public Solicitante BuscarSolicitante(string documento)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                Solicitante solicitante = null;
                conexion.Conectar();

                SqlCommand cmdSolicitante = db.GenerarStoreProcedure("sp_BuscarSolicitante", conexion.GetSqlConnection());
                cmdSolicitante.Parameters.AddWithValue("@doc", documento);

                SqlDataReader rdSolicitante = cmdSolicitante.ExecuteReader();

                if (rdSolicitante.HasRows)
                {
                    rdSolicitante.Read();

                    solicitante = new Solicitante(rdSolicitante["NumeroDocumento"].ToString(),
                                                  rdSolicitante["Contrasena"].ToString(),
                                                  rdSolicitante["NombreCompleto"].ToString(),
                                                  rdSolicitante["Telefono"].ToString());
                    rdSolicitante.Close();
                }

                return(solicitante);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
Exemple #20
0
        private List <HoraExtra> ObtenerHorasExtras(string documento)
        {
            Conexion     conexion = new Conexion();
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                List <HoraExtra> horasExtras = new List <HoraExtra>();
                conexion.Conectar();

                SqlCommand cmdObtenerExtras = db.GenerarStoreProcedure("sp_ObtenerExtras", conexion.GetSqlConnection());
                cmdObtenerExtras.Parameters.AddWithValue("doc", documento);

                SqlDataReader rdExtras = cmdObtenerExtras.ExecuteReader();

                if (rdExtras.HasRows)
                {
                    horasExtras = new List <HoraExtra>();
                    while (rdExtras.Read())
                    {
                        horasExtras.Add(new HoraExtra(Convert.ToDateTime(rdExtras["Fecha"].ToString()), Convert.ToInt32(rdExtras["CantidadMinutos"].ToString())));
                    }
                    rdExtras.Close();
                }

                return(horasExtras);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public void AgregarDocumento(Documento nuevoDoc, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();

                SqlCommand cmdAgregarDoc = db.GenerarStoreProcedure("sp_AgregarDocumento", conexion.GetSqlConnection());

                cmdAgregarDoc.Parameters.AddWithValue("@codigo", nuevoDoc.Id);
                cmdAgregarDoc.Parameters.AddWithValue("@nombre", nuevoDoc.Nombre);
                cmdAgregarDoc.Parameters.AddWithValue("@lugarSolicitud", nuevoDoc.LugarSolicitud);
                db.GenerarValueReturn(cmdAgregarDoc);

                cmdAgregarDoc.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("Ya existe un documento con nombre y lugar ingresado.");

                case -9:
                    throw new Exception("Error al agregar documento.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }
        public void CambiarEstado(Solicitud solicitud, Empleado userLogin)
        {
            Conexion     conexion = new Conexion(userLogin);
            UtilidadesDB db       = new UtilidadesDB();

            try
            {
                conexion.Conectar();

                SqlCommand cmdCambiarEstado = db.GenerarStoreProcedure("sp_CambiarEstadoSolicitud", conexion.GetSqlConnection());

                cmdCambiarEstado.Parameters.AddWithValue("@codigo", solicitud.Codigo);
                cmdCambiarEstado.Parameters.AddWithValue("@estado", solicitud.Estado);

                db.GenerarValueReturn(cmdCambiarEstado);

                cmdCambiarEstado.ExecuteNonQuery();

                switch (db.GetValuerReturn())
                {
                case -1:
                    throw new Exception("No se encontro solicitud con el codigo ingresado.");

                case -9:
                    throw new Exception("Error al cambiar el estado de la solicitud.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Desconectar();
            }
        }