public static void UpdateFactura(Factura objFactura) { if (objFactura.FacturaId <= 0) { throw new ArgumentException("La factura no puede ser menor o igual a cero."); } try { FacturaTableAdapter localAdapter = new FacturaTableAdapter(); object resutl = localAdapter.UpdateFactura( objFactura.Numero, objFactura.Nombre, objFactura.Nit, objFactura.Fecha, objFactura.FechaLimiteEmision, objFactura.MontoPalabra, objFactura.CodigoAutorizacion, objFactura.CodigoControl, objFactura.VentaId, objFactura.FacturaId); log.Debug("Se actualizo la Factura con el id " + objFactura.FacturaId); } catch (Exception q) { log.Error("Ocurrió un error al actualizar la Factura", q); throw q; } }
public static int InsertFactura(Factura objFactura) { try { if (objFactura == null) { throw new ArgumentException("La Factura no puede ser nulo o vacío."); } int?facturaId = 0; FacturaTableAdapter localAdapter = new FacturaTableAdapter(); object resutl = localAdapter.InsertFactura( ref facturaId, objFactura.Numero, objFactura.Nombre, objFactura.Nit, objFactura.Fecha, objFactura.FechaLimiteEmision, objFactura.MontoPalabra, objFactura.CodigoAutorizacion, objFactura.CodigoControl, objFactura.VentaId); log.Debug("Se insertó la Factura con el numero de: " + objFactura.Numero); return((int)facturaId); } catch (Exception q) { log.Error("Ocurrió un error al insertar la Factura", q); throw q; } }
public static List <Factura> GetFacturaListForSearch(string whereSql) { if (string.IsNullOrEmpty(whereSql)) { whereSql = "1 = 1"; } List <Factura> theList = new List <Factura>(); Factura theUser = null; FacturaTableAdapter theAdapter = new FacturaTableAdapter(); try { FacturaDS.FacturaDataTable table = theAdapter.GetFacturaForSearch(whereSql); if (table != null && table.Rows.Count > 0) { foreach (FacturaDS.FacturaRow row in table.Rows) { theUser = FillUserRecord(row); theList.Add(theUser); } } } catch (Exception q) { log.Error("el error ocurrio mientras obtenia la lista de la Factura de la base de datos", q); return(null); } return(theList); }
public static Factura GetFacturaById(int IdModulo) { FacturaTableAdapter localAdapter = new FacturaTableAdapter(); if (IdModulo <= 0) { return(null); } Factura theFactura = null; try { FacturaDS.FacturaDataTable table = localAdapter.GetFacturaById(IdModulo); if (table != null && table.Rows.Count > 0) { FacturaDS.FacturaRow row = table[0]; theFactura = FillUserRecord(row); } } catch (Exception q) { log.Error("Un error ocurrio mientras obtenia la Factura de la base de dato", q); return(null); } return(theFactura); }
public static void DeleteFactura(int FacturaId) { if (FacturaId <= 0) { throw new ArgumentException("La Factura no puede ser menor o igual a cero."); } try { FacturaTableAdapter theAdapter = new FacturaTableAdapter(); theAdapter.DeleteFactura(FacturaId); } catch (Exception ex) { log.Error("Ocurrio un error al Eliminar la Factura .", ex); throw; } }
private void btnFacturar_Click(object sender, EventArgs e) { try { bool estadoCliente = false; if (cboNombreCliente.Text == "" && cbxCliente.Checked == false) { estadoCliente = true; } else if ((cboNombreCliente.Text != "" && cbxCliente.Checked == true) && idCliente != 0) { estadoCliente = true; } if (estadoCliente && dgvProductos.Rows.Count > 0 && txtPago.Text != "") { decimal devuelta = Convert.ToDecimal(txtPago.Text) - Convert.ToDecimal(txtTotal.Text); txtDevuelta.Text = devuelta.ToString(); if (devuelta < 0 && cbxCliente.Checked == false) { auxBtnFactura = true; DialogResult resultado = MessageBox.Show("Debe introducir un cliente para procesar la factura que genera deuda\n¿Desea agregar un cliente?", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (resultado == DialogResult.Yes) { cbxCliente.Checked = true; BloquearControles(); } else { btnFacturar.Enabled = false; txtPago.Focus(); } } else { using (TransactionScope transaction = new TransactionScope()) { if (devuelta < 0) { devuelta -= clienteDebe; adapterCli.ActualizarMontoC(idCliente, devuelta * -1); } FacturaTableAdapter adapterFac = new FacturaTableAdapter(); DetallesTableAdapter adapterDet = new DetallesTableAdapter(); adapterFac.InsertarF(DateTime.Now, idCliente, usuario.Id, Convert.ToDecimal(txtPago.Text), totalITBIS, Convert.ToDecimal(txtDescuento.Text), Convert.ToDecimal(txtTotal.Text)); int idFactura = Convert.ToInt32(adapterFac.IdMasGrandeF()); foreach (DataGridViewRow item in dgvProductos.Rows) { decimal numExis = Convert.ToDecimal(item.Cells[7].Value.ToString()) - Convert.ToDecimal(item.Cells[2].Value.ToString()); decimal descuento = Convert.ToDecimal(item.Cells[4].Value.ToString()); adapterPro.ActualizarExistenciasP(Convert.ToInt32(item.Cells[6].Value.ToString()), numExis); adapterDet.InsertarFD(idFactura, Convert.ToInt32(item.Cells[6].Value.ToString()), Convert.ToDecimal(item.Cells[1].Value.ToString()), Convert.ToInt32(item.Cells[2].Value.ToString()), Convert.ToDecimal(item.Cells[3].Value.ToString()), descuento); log.Info($"Se facturó una cantidad de {Convert.ToInt32(item.Cells[2].Value.ToString())} para el producto con el ID {Convert.ToInt32(item.Cells[6].Value.ToString())} con un precio de {Convert.ToDecimal(item.Cells[1].Value.ToString())} por el usuario {usuario.Nombre} {usuario.Apellidos} para la factura {idFactura}"); } log.Info($"{usuario.Nombre} {usuario.Apellidos} realizó la factura con el ID: {idFactura} para el cliente {idCliente}"); MessageBox.Show("Factura realizada correctamente", "Facturación"); _menu.CargarDashboard(); LimpiarTodo(); cboNombreCliente.Focus(); transaction.Complete(); } } } else { string mensaje = null; if (!estadoCliente) { mensaje = "Debe chequear el cliente\n"; } if (dgvProductos.Rows.Count <= 0) { mensaje += "Debe agregar productos\n"; } if (txtPago.Text == "") { mensaje += "Debe ingresar el monto a pagar"; } MessageBox.Show(mensaje, "Error al facturar"); } } catch (Exception error) { log.Error($"Error: {error.Message}", error); MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }