private OdbcDataAdapter datos; // Variable OdbcDataAdapter //Insertar datos de encabezado factura public void InsertarFactura(clsCompraEncabezado compraEncabezado) { OdbcConnection con = conexion.conexion(); OdbcCommand comando = con.CreateCommand(); OdbcTransaction transaccion; transaccion = con.BeginTransaction(); comando.Connection = con; comando.Transaction = transaccion; try { //Inserta en encabezado de compra comando.CommandText = "INSERT INTO compra_encabezado(pk_id_compra_encabezado, fk_id_proveedor, estado_proceso_encabezado_compra, fec_compra_encabezado_compra, total_compra_encabezado_compra, estado_encabezado_compra) VALUES (?,?,?,?,?,?);"; comando.Parameters.Add("pk_id_compra_encabezado", OdbcType.Int).Value = compraEncabezado.IdCompra; comando.Parameters.Add("fk_id_proveedor", OdbcType.Int).Value = compraEncabezado.IdProveedor; comando.Parameters.Add("estado_proceso_encabezado_compra", OdbcType.Int).Value = compraEncabezado.EstadoProceso; comando.Parameters.Add("fec_compra_encabezado_compra", OdbcType.DateTime).Value = compraEncabezado.FechaCompra1; comando.Parameters.Add("total_compra_encabezado_compra", OdbcType.Double).Value = compraEncabezado.TotalCompra; comando.Parameters.Add("estado_encabezado_compra", OdbcType.Int).Value = compraEncabezado.Estado1; comando.ExecuteNonQuery(); transaccion.Commit(); Console.WriteLine("Transaccion Exitosa"); } catch (Exception ex) { transaccion.Rollback(); Console.WriteLine(ex.Message); Console.WriteLine("Trasaccion Fallida"); MessageBox.Show("Error transaccion compras encabezado", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//Llena datos para compra encabezado private clsCompraEncabezado llenarCamposCompraEncabezado(double Total) { if (validarEncabezado() == true) { DateTime dtFecha = dtpFechaCompra.Value; clsCompraEncabezado auxMantenimiento = new clsCompraEncabezado(); auxMantenimiento.IdCompra = int.Parse(txtCodigo.Text); auxMantenimiento.IdProveedor = int.Parse(cmbProveedor.SelectedValue.ToString()); auxMantenimiento.EstadoProceso = estadoProceso; auxMantenimiento.FechaCompra1 = dtFecha; auxMantenimiento.TotalCompra = Total; auxMantenimiento.Estado1 = 1; return(auxMantenimiento); } else { return(null); } }
//Registrar compra private bool RegistrarCompra() { int CodLinea = 0, Producto, Cantidad; double PrecioU, SubtotalU; try { this.compraEncabezado = llenarCamposCompraEncabezado(SumarColumnas()); if (compraEncabezado == null) { MessageBox.Show("Campos Vacios", "ADVERTENCIA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } else { controladorCompras.InsertarFactura(compraEncabezado); int iFilas = dgvCompras.Rows.Count; Console.WriteLine(iFilas); //Linea por linea del grid inserta a detalle compra while (CodLinea < (iFilas - 1)) { Producto = int.Parse(dgvCompras.Rows[CodLinea].Cells["cmbProducto"].Value.ToString()); Cantidad = int.Parse(dgvCompras.Rows[CodLinea].Cells["txtCantidad"].Value.ToString()); PrecioU = double.Parse(dgvCompras.Rows[CodLinea].Cells["txtPrecioUnitario"].Value.ToString()); SubtotalU = double.Parse(dgvCompras.Rows[CodLinea].Cells["txtSubtotal"].Value.ToString()); ++CodLinea; this.compraDetalle = llenarCamposCompraDetalle(Producto, CodLinea, Cantidad, PrecioU, SubtotalU); controladorCompras.InsertarDetalleFactura(compraDetalle); } MessageBox.Show("Datos de Compra Ingresados", "", MessageBoxButtons.OK, MessageBoxIcon.Information); Console.WriteLine("Compra Exitosa"); return(true); } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Compra Fallida"); MessageBox.Show("Error al Guardar Datos de Compras", "", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }