0% encontró este documento útil (0 votos)
42 vistas4 páginas

Podcast Api Codigo

Este código C# crea una interfaz gráfica de usuario para generar facturas utilizando las API de Microsip. Define funciones para conectarse a la base de datos, consultar clientes y artículos, agregar líneas de factura y aplicar la factura generada. La clase Menu contiene eventos para los botones que permiten realizar estas acciones y generar una factura sample al cargar la tabla.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas4 páginas

Podcast Api Codigo

Este código C# crea una interfaz gráfica de usuario para generar facturas utilizando las API de Microsip. Define funciones para conectarse a la base de datos, consultar clientes y artículos, agregar líneas de factura y aplicar la factura generada. La clase Menu contiene eventos para los botones que permiten realizar estas acciones y generar una factura sample al cargar la tabla.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ApiBas = ApisMicrosip.ApiMspBasicaExt;
using ApiVtas = ApisMicrosip.ApiMspVentasExt;

namespace PodcastApiMicrosip
{
public partial class Menu : Form
{
int bd = ApiBas.NewDB();
int cliente_id = 0;

public Menu()
{
InitializeComponent();
LlenaTabla();
}

private void LlenaTabla()


{
tblDetalle.Rows.Add("BOL-0013", "Bola de Boliche No. 13", 10, 750.00,
5);
tblDetalle.Rows.Add("BOL-0014", "Bola de Boliche No. 14", 20, 850.00,
10);
tblDetalle.Rows.Add("BOL-0015", "Bola de Boliche No. 15", 30, 950.00,
5);
}

private int ConectaBd()


{
ApiBas.SetErrorHandling(0, 0);
int trn = ApiBas.NewTrn(bd, 3);
string path = txtFdb.Text;
int conecta = ApiBas.DBConnect(bd, path, txtUsuario.Text,
txtPassword.Text);
StringBuilder obtieneError = new StringBuilder(1000);
int codigoError = ApiBas.GetLastErrorMessage(obtieneError);
String mensajeError = codigoError.ToString();
if (codigoError > 0)
{
MessageBox.Show(obtieneError.ToString());
return 0;
}
else
{
btnFacturar.Enabled = true;
return 1;
}
}

private void btnConecta_Click(object sender, EventArgs e)


{
ConectaBd();
}

private void btnSalir_Click(object sender, EventArgs e)


{
Salir();
}

private void Salir()


{
ApiBas.DBDisconnect(bd);
Application.Exit();
}

private void btnFacturar_Click(object sender, EventArgs e)


{
CreaFactura();
}

private void CreaFactura()


{
int art_id = 0;
double cantidad = 0;
double precio = 0;
double descuento = 0;

ConsultaCliente();
string fecha = dtFechaFactura.Value.ToString("dd/MM/yyyy");
ApiVtas.SetDBVentas(bd);
ApiVtas.SetReglasVentas(1, 1);
double descuentoGeneral = Convert.ToDouble(txtDescuento.Text);
int factura = ApiVtas.NuevaFactura(fecha, "AA", cliente_id, 0, 0, "P",
descuentoGeneral, "", "Factura generada por medio de API Microsip", 0, 0, 0, 0, 0,
0, 0, 0, "");
//MessageBox.Show("Factura: " + factura);
int renglones = tblDetalle.RowCount - 1;
for (int i = 0; i < renglones; i++)
{
art_id =
ConsultaArticulo(tblDetalle.Rows[i].Cells[1].Value.ToString());
cantidad = Convert.ToDouble(tblDetalle.Rows[i].Cells[2].Value);
precio = Convert.ToDouble(tblDetalle.Rows[i].Cells[3].Value);
descuento = Convert.ToDouble(tblDetalle.Rows[i].Cells[4].Value);
int renglon = ApiVtas.RenglonFactura(art_id, cantidad, precio,
descuento, "");
//MessageBox.Show("Renglón: " + renglon);
}

int aplica = ApiVtas.AplicaFactura();


// MessageBox.Show("Aplica: " + aplica);
MessageBox.Show("Factura generada correctamente");
}

private int ConsultaArticulo(string articulo)


{
int articulo_id = 0;
int trn = ApiBas.NewTrn(bd, 3);
int sql = ApiBas.NewSql(trn);
ApiBas.TrnStart(trn);
string cadenaConsulta = "select articulo_id from articulos where nombre
= :nombre";
int consulta = ApiBas.SqlQry(sql, cadenaConsulta);
int parametro = ApiBas.SqlSetParamAsString(sql, "nombre", articulo);
int ejecutaConsulta = ApiBas.SqlExecQuery(sql);
StringBuilder obtieneError = new StringBuilder(1000);
int codigoError = ApiBas.GetLastErrorMessage(obtieneError);
String mensajeError = codigoError.ToString();
if (codigoError > 0)
{
MessageBox.Show(obtieneError.ToString());
}
ApiBas.SqlGetFieldAsInteger(sql, "articulo_id", ref articulo_id);
ApiBas.SqlClose(sql);
return articulo_id;
}

private void ConsultaCliente()


{
int trn = ApiBas.NewTrn(bd, 3);
int sql = ApiBas.NewSql(trn);
ApiBas.TrnStart(trn);
string cadenaConsulta = "select cliente_id from clientes where nombre
= :nombre";
int consulta = ApiBas.SqlQry(sql, cadenaConsulta);
int parametro = ApiBas.SqlSetParamAsString(sql, "nombre",
txtCliente.Text);
int ejecutaConsulta = ApiBas.SqlExecQuery(sql);
StringBuilder obtieneError = new StringBuilder(1000);
int codigoError = ApiBas.GetLastErrorMessage(obtieneError);
String mensajeError = codigoError.ToString();
if (codigoError > 0)
{
MessageBox.Show(obtieneError.ToString());
}
ApiBas.SqlGetFieldAsInteger(sql, "cliente_id", ref cliente_id);
ApiBas.SqlClose(sql);
}

private void dtFechaFactura_ValueChanged(object sender, EventArgs e)


{

private void button1_Click(object sender, EventArgs e)


{
BuscaFdb();
}

private void BuscaFdb()


{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Text Files (.fdb)|*.fdb";
if (ofd.ShowDialog() == DialogResult.OK)
{
System.IO.FileInfo fi = new System.IO.FileInfo(ofd.FileName);
txtFdb.Text = ofd.FileName;
btnProbarConexion.Enabled = true;
}
}

private void btnProbarConexion_Click(object sender, EventArgs e)


{
probarConexion();
}

private void probarConexion()


{
int conecta = ConectaBd();
if (conecta == 1)
{
MessageBox.Show("Conexión exitosa");
ApiBas.DBDisconnect(bd);
}
}
}
}

También podría gustarte