//Buscar empresa por más que esté inactiva public Empresa BuscarEmpresaTodos(int codEmp, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); Empresa unaEmpresa = null; SqlCommand cmd = new SqlCommand("BuscarEmpresaTodos", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codEmpresa", codEmp); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); if (lector.HasRows) { lector.Read(); unaEmpresa = new Empresa((int)lector["codEmpresa"], (string)lector["rut"], (string)lector["dirFiscal"], (string)lector["telefono"]); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } return(unaEmpresa); }
//Altar usuario Gerente public void AltaGerente(Gerente unGerente, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("AltaGerente", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", unGerente.Cedula); cmd.Parameters.AddWithValue("@nomUsu", unGerente.NomUsu); cmd.Parameters.AddWithValue("@pass", unGerente.Pass); cmd.Parameters.AddWithValue("@nomCompleto", unGerente.NomCompleto); cmd.Parameters.AddWithValue("@correo", unGerente.Correo); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La cedula ingresada ya existe en el sistema."); } if ((int)retorno.Value == -2) { throw new Exception("La cedula ingresada ya existe como Gerente"); } if ((int)retorno.Value == -3 || (int)retorno.Value == -4) { throw new Exception("Error al crear usuario"); } if ((int)retorno.Value == -5) { throw new Exception("Error al crear el usuario de Servidor"); } if ((int)retorno.Value == -6) { throw new Exception("Error al crear el usuario de Base de datos"); } if ((int)retorno.Value == -7 || (int)retorno.Value == -8) { throw new Exception("Error al asignar permisos"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
//Buscar cajero por más que esté desactivado public Cajero BuscarCajeroTodos(int cedula, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); Cajero unCajero = null; SqlCommand cmd = new SqlCommand("BuscarCajeroTodos", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", cedula); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); if (lector.HasRows) { lector.Read(); unCajero = new Cajero((int)lector["cedula"], (string)lector["nomUsu"], (string)lector["pass"], (string)lector["nomCompleto"], Convert.ToDateTime(lector["horaIni"]), Convert.ToDateTime(lector["horaFin"])); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } return(unCajero); }
//Buscar usuario Gerente public Gerente BuscarGerente(int cedula, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); Gerente unGerente = null; SqlCommand cmd = new SqlCommand("BuscarGerente", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", cedula); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); if (lector.HasRows) { lector.Read(); unGerente = new Gerente((int)lector["cedula"], (string)lector["nomUsu"], (string)lector["pass"], (string)lector["nomCompleto"], (string)lector["Correo"]); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } return(unGerente); }
//Dar de baja un cajero public void BajaCajero(Cajero unCajero, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("BajaCajero", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La cedula no existe."); } if ((int)retorno.Value == -2) { throw new Exception("La cedula pertenece a un Usuario tipo Gerente"); } if ((int)retorno.Value == -3) { throw new Exception("Error al eliminar horas extras del usuario"); } if ((int)retorno.Value == -4) { throw new Exception("Error al eliminar el usuario de acceso al servidor"); } if ((int)retorno.Value == -5) { throw new Exception("Error al eliminar el usuario de acceso a Base de datos "); } if ((int)retorno.Value == -6) { throw new Exception("Error al dar de baja el usuario"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
//Listar Todas Las facturas, todos los contratos y todas las empresas internal static List <Factura> ListarFacturaTodos(int pIdPago, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("CargarFacturaDeUnPago", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@idPago", pIdPago); List <Factura> _ListaFacturas = new List <Factura>(); int codCli; DateTime fechaVto; int monto; int codEmpresa; int codContrato; int idPago; try { cnn.Open(); SqlDataReader _lector = cmd.ExecuteReader(); if (_lector.HasRows) { while (_lector.Read()) { idPago = (int)_lector["idPago"]; codContrato = (int)_lector["codContrato"]; codEmpresa = (int)_lector["codEmp"]; monto = (int)_lector["monto"]; codCli = Convert.ToInt32(_lector["codCli"]); fechaVto = (DateTime)_lector["fechaVto"]; Factura fac = new Factura(monto, codCli, fechaVto, TipoContratoPersistencia.GetInstancia().BuscarContratoTodos(codEmpresa, codContrato, usuLogueado)); _ListaFacturas.Add(fac); } } _lector.Close(); } catch (Exception ex) { throw ex; } finally { cnn.Close(); } return(_ListaFacturas); }
//Cambiar Contraseña public void CambioPass(Usuario unGerente, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("CambioPass", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", unGerente.Cedula); cmd.Parameters.AddWithValue("@antiguaPass", usuLogueado.Pass); cmd.Parameters.AddWithValue("@nuevaPass", unGerente.Pass); cmd.Parameters.AddWithValue("@nomUsu", usuLogueado.NomUsu); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La cedula no existe."); } if ((int)retorno.Value == -2) { throw new Exception("La cedula pertenece a un usuario inactivo."); } if ((int)retorno.Value == -3) { throw new Exception("Error al actualizar el usuario"); } if ((int)retorno.Value == -4) { throw new Exception("Error al actualizar contraseña en servidor"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
public void AltaTipoContrato(TipoContrato unTipoContrato, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("AltaTipoContrato", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codContrato", unTipoContrato.CodContrato); cmd.Parameters.AddWithValue("@codEmp", unTipoContrato.UnaEmp.Codigo); cmd.Parameters.AddWithValue("@nombre", unTipoContrato.Nombre); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("No existe la empresa"); } else if ((int)retorno.Value == -2) { throw new Exception("La empresa esta inactiva"); } else if ((int)retorno.Value == -3) { throw new Exception("Ya existe el Tipo de Contrato"); } else if ((int)retorno.Value == -4) { throw new Exception("Error en la base de datos"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
//Modificar una empresa public void ModificarEmpresa(Empresa unaEmpresa, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("ModificarEmpresa", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codEmp", unaEmpresa.Codigo); cmd.Parameters.AddWithValue("@rut", unaEmpresa.Rut); cmd.Parameters.AddWithValue("@direccion", unaEmpresa.DirFiscal); cmd.Parameters.AddWithValue("@telefono", unaEmpresa.Telefono); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La Empresa no existe"); } else if ((int)retorno.Value == -2) { throw new Exception("La empresa esta inactiva"); } else if ((int)retorno.Value == -3) { throw new Exception("Errero en la base de datos"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
//Cargar Facturas internal static List <Factura> CargoFactura(int pIdPago, int codEmp, int codTipoContrato, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection _cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand comando = new SqlCommand("CargarFacturaDeUnPago", _cnn); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("@idPago", pIdPago); List <Factura> _ListaFacturas = new List <Factura>(); try { _cnn.Open(); SqlDataReader _lector = comando.ExecuteReader(); if (_lector.HasRows) { while (_lector.Read()) { Factura fac = new Factura(); fac.FechaVto = (DateTime)_lector["fechaVto"]; fac.CodCli = (int)_lector["codCli"]; fac.Monto = (int)_lector["monto"]; fac.UnTipoContrato = TipoContratoPersistencia.GetInstancia().BuscarContrato(codEmp, codTipoContrato, usuLogueado); _ListaFacturas.Add(fac); } } _lector.Close(); } catch (Exception ex) { throw ex; } finally { _cnn.Close(); } return(_ListaFacturas); }
//Modificar un cajero public void ModificarCajero(Cajero unCajero, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("ModificarCajero", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula); cmd.Parameters.AddWithValue("@nomCompleto", unCajero.NomCompleto); cmd.Parameters.AddWithValue("@horaini", unCajero.HoranIni); cmd.Parameters.AddWithValue("@horaFin", unCajero.HoranFin); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La cedula no existe."); } if ((int)retorno.Value == -2) { throw new Exception("La cedula ingresada ya existe como Gerente"); } if ((int)retorno.Value == -3) { throw new Exception("Error al modificar usuario"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
//Listar Pagos public List <Pago> listar(Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("ListarPagos", cnn); SqlDataReader lector; List <Pago> lista = new List <Pago>(); int idPago; DateTime fecha; // Cajero unCajero; int monto; int codCajero; try { cnn.Open(); lector = cmd.ExecuteReader(); while (lector.Read()) { idPago = (int)lector["numeroInt"]; fecha = (DateTime)lector["fecha"]; codCajero = (int)lector["cedulaCajero"]; monto = (int)lector["montoTotal"]; Pago unPago = new Pago(idPago, fecha, monto, CajeroPersistencia.GetInstancia().BuscarCajeroTodos(codCajero, usuLogueado), FacturaPersistencia.ListarFacturaTodos(idPago, usuLogueado)); lista.Add(unPago); } lector.Close(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } return(lista); }
//Bajar una empresa public void BajaEmpresa(Empresa unaEmpresa, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("BajaEmpresa", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codEmp", unaEmpresa.Codigo); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La empresa no existe"); } if ((int)retorno.Value == -2) { throw new Exception("Error al desactivar Tipo de Contrato y/o Empresa"); } if ((int)retorno.Value == -3) { throw new Exception("Error al eliminar Tipo de Contrato y/o Empresa"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }
public TipoContrato BuscarContratoTodos(int codEmp, int codTipoContrato, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); TipoContrato unContrato = null; SqlCommand cmd = new SqlCommand("BuscarContratoTodos", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codEmp", codEmp); cmd.Parameters.AddWithValue("@codContrato", codTipoContrato); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); if (lector.HasRows) { lector.Read(); Empresa emp = new Empresa(); emp = EmpresaPersistencia.GetInstancia().BuscarEmpresaTodos((int)lector["codEmp"], usuLogueado); unContrato = new TipoContrato(emp, (int)lector["codContrato"], (string)lector["nombre"]); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } return(unContrato); }
//Altar pago public void AltaPago(Pago unPago, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand oComando = new SqlCommand("AltaPago", cnn); oComando.CommandType = CommandType.StoredProcedure; SqlParameter _Fecha = new SqlParameter("@fecha", unPago.Fecha); SqlParameter _MontoTotal = new SqlParameter("@montoTotal", unPago.MontoTotal); SqlParameter _CedulaCajero = new SqlParameter("@cedulaCajero", unPago.UsuCajero.Cedula); SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int); _Retorno.Direction = ParameterDirection.ReturnValue; oComando.Parameters.Add(_Fecha); oComando.Parameters.Add(_MontoTotal); oComando.Parameters.Add(_CedulaCajero); oComando.Parameters.Add("@numInterno", SqlDbType.Int).Direction = ParameterDirection.Output; oComando.Parameters.Add(_Retorno); int afectados = -1; SqlTransaction _miTransaccion = null; try { //conecto a la bd cnn.Open(); //determino que voy a trabajar en una unica transaccion _miTransaccion = cnn.BeginTransaction(); //ejecuto comando de alta del servicio en la transaccion oComando.Transaction = _miTransaccion; oComando.ExecuteNonQuery(); //verifico si hay errores afectados = (int)oComando.Parameters["@Retorno"].Value; if (afectados == -1) { throw new Exception("No existe el cajero"); } else if (afectados == -3) { throw new Exception("El Cajero no está activo"); } else if (afectados == -2) { throw new Exception("Error en la base de datos al insertar pago"); } //Obtengo id de pago int idPago = Convert.ToInt32(oComando.Parameters["@numInterno"].Value.ToString()); //si llego hasta aca es xq pude dar de alta el pago //genero alta para las facturas foreach (Factura unaFactura in unPago.LasFacturas) { FacturaPersistencia.AgregarFactura(idPago, unaFactura.UnTipoContrato.CodContrato, unaFactura.UnTipoContrato.UnaEmp.Codigo, unaFactura.Monto, unaFactura.CodCli, unaFactura.FechaVto, _miTransaccion); } //si llegue aca es xq no hubo problemas con las facturas _miTransaccion.Commit(); } catch (Exception ex) { _miTransaccion.Rollback(); throw ex; } finally { cnn.Close(); } }
//Altar un cajero public void AltaCajero(Cajero unCajero, Usuario usuLogueado) { Conexion con = new Conexion(); SqlConnection cnn = new SqlConnection(con.cnnUsu(usuLogueado)); SqlCommand cmd = new SqlCommand("AltaCajero", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@cedula", unCajero.Cedula); cmd.Parameters.AddWithValue("@nomUsu", unCajero.NomUsu); cmd.Parameters.AddWithValue("@pass", unCajero.Pass); cmd.Parameters.AddWithValue("@nomCompleto", unCajero.NomCompleto); cmd.Parameters.AddWithValue("@horaini", unCajero.HoranIni); cmd.Parameters.AddWithValue("@horaFin", unCajero.HoranFin); SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int); retorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(retorno); try { cnn.Open(); cmd.ExecuteNonQuery(); if ((int)retorno.Value == -1) { throw new Exception("La cedula ingresada ya existe en el sistema."); } if ((int)retorno.Value == -2) { throw new Exception("La cedula ingresada pertenece a un cajero"); } if ((int)retorno.Value == -3 || (int)retorno.Value == -4) { throw new Exception("Error al actualizar usuario inactivo"); } if ((int)retorno.Value == -5) { throw new Exception("Error al crear el usuario de servidor"); } if ((int)retorno.Value == -6) { throw new Exception("Error al crear el usuario de Base de datos"); } if ((int)retorno.Value == -7) { throw new Exception("Error al asignar permisos"); } if ((int)retorno.Value == -8) { throw new Exception("Error al crear el usuario"); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { cnn.Close(); } }