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; } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }