Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 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;
     }
 }
Пример #6
0
        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);
            }
        }