public DataTable obtainById(DetalleDeFacturaEnt detalleDeFactura)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.Text;
     sqlCommand.CommandText = "Select DdF.Detalle, DdF.Cantidad, Df.Importe "
         + "From Detalle_De_Factura DdF Where DdF.Id_Factura = @Id_Factura";
     sqlCommand.Parameters.AddWithValue("@Id_Factura", detalleDeFactura.ID_FACTURA);
     SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
     DataTable dataTable = new DataTable("DetalleFactura");
     sqlDataAdapter.SelectCommand = sqlCommand;
     sqlDataAdapter.Fill(dataTable);
     return dataTable;
 }
 public int add(DetalleDeFacturaEnt detalleDeFactura)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.StoredProcedure;
     sqlCommand.CommandText = "insertarDetalleDeFactura";
     sqlCommand.Parameters.AddWithValue("@Id_Factura", detalleDeFactura.ID_FACTURA);
     sqlCommand.Parameters.AddWithValue("@Id_Producto", detalleDeFactura.ID_PRODUCTO);
     sqlCommand.Parameters.AddWithValue("@Detalle", detalleDeFactura.DETALLE);
     sqlCommand.Parameters.AddWithValue("@Cantidad", detalleDeFactura.CANTIDAD);
     sqlCommand.Parameters.AddWithValue("@Importe", detalleDeFactura.IMPORTE);
     sqlConnection.Open();
     int id = Convert.ToInt32(sqlCommand.ExecuteScalar());
     sqlConnection.Close();
     return id;
 }
 public void addDetalle(DetalleDeFacturaEnt detalleDeFactura)
 {
     bool existe = false;
     int row = 0;
     for (int rowIndex = 0; rowIndex < this.listDetalleDeFactura.Count; rowIndex++)
     {
         if (detalleDeFactura.ID_PRODUCTO == this.listDetalleDeFactura[rowIndex].ID_PRODUCTO)
         {
             existe = true;
             row = rowIndex;
             break;
         }
     }
     if (existe == false)
     {
         this.listDetalleDeFactura.Add(detalleDeFactura);
     }
     else
     {
         this.listDetalleDeFactura[row].CANTIDAD = this.listDetalleDeFactura[row].CANTIDAD + detalleDeFactura.CANTIDAD;
         this.listDetalleDeFactura[row].IMPORTE = this.listDetalleDeFactura[row].IMPORTE + detalleDeFactura.IMPORTE;
     }
 }
 public DataTable obtainById(DetalleDeFacturaEnt detalleDeFactura)
 {
     return objetoDetalleDeFactura.obtainById(detalleDeFactura);
 }
 public DataTable getById(DetalleDeFacturaEnt detalleDeFactura)
 {
     return objetoDetalleDeFactura.getById(detalleDeFactura);
 }
 public int add(DetalleDeFacturaEnt detalleDeFactura)
 {
     return objetoDetalleDeFactura.add(detalleDeFactura);
 }
 private void buttonGuardar_Click(object sender, EventArgs e)
 {
     if (checkForErrors())
     {
         if (Convert.ToDecimal(textBoxMontoTotal.Text) < 5)
         {
             egreso.TIPO = "VENTA MENOR";
             egreso.FACTURADO = false;
         }
         else if (checkBoxFacturaManual.Checked)
         {
             egreso.TIPO = "FACTURA MANUAL";
             egreso.FACTURADO = true;
         }
         else
         {
             egreso.TIPO = "FACTURA SISTEMA";
             egreso.FACTURADO = true;
         }
         egreso.METODO_DE_PAGO = "CONTADO";
         egreso.MONTO = Convert.ToDecimal(textBoxMontoTotal.Text);
         egreso.MONTO_PAGADO = Convert.ToDecimal(textBoxMontoPagado.Text);
         egreso.CAMBIO = Convert.ToDecimal(textBoxCambio.Text);
         egreso.OBSERVACIONES = "";
         egreso.ESTADO = "VIGENTE";
         objetoEgreso.update(egreso);
         foreach(DetalleDeEgresoEnt invoiceLine in invoiceLinesDeleted)
         {
             objetoDetalleDeEgreso.delete(invoiceLine);
         }
         for (int rowIndex = 0; rowIndex < dataGridViewDetalleDeVenta.Rows.Count; rowIndex++)
         {
             detalleDeEgreso = new DetalleDeEgresoEnt();
             detalleDeEgreso.ID = Convert.ToInt32(dataGridViewDetalleDeVenta["Id", rowIndex].Value);
             detalleDeEgreso.ID_EGRESO = egreso.ID;
             detalleDeEgreso.ID_PRODUCTO = Convert.ToInt32(dataGridViewDetalleDeVenta["Id_Producto", rowIndex].Value);
             detalleDeEgreso.CANTIDAD = Convert.ToDecimal(dataGridViewDetalleDeVenta["Cantidad", rowIndex].Value);
             detalleDeEgreso.PRECIO_UNITARIO = Convert.ToDecimal(dataGridViewDetalleDeVenta["Precio_Unitario", rowIndex].Value);
             detalleDeEgreso.MONTO_TOTAL = Convert.ToDecimal(dataGridViewDetalleDeVenta["Monto_Total", rowIndex].Value);
             detalleDeEgreso.ESTADO = "VIGENTE";
             if (detalleDeEgreso.ID == 0)
             {
                 objetoDetalleDeEgreso.add(detalleDeEgreso);
             }
             else
             {
                 objetoDetalleDeEgreso.update(detalleDeEgreso);
             }
         }
         if (objetoEgreso.isClosed(egreso) && egreso.MONTO != originalAmount)
         {
             DevolucionBss objetoDevolucion = new DevolucionBss();
             DevolucionEnt devolucion = new DevolucionEnt();
             devolucion.ID_USUARIO = SesionEnt.idUsuario;
             devolucion.ID_CAJA = SesionEnt.idCaja;
             devolucion.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
             devolucion.ID_EGRESO = egreso.ID;
             devolucion.HORA = DateTime.Now.ToString("T");
             devolucion.MONTO = originalAmount - egreso.MONTO;
             objetoDevolucion.add(devolucion);
         }
         MessageBox.Show("Los datos fueron guardados correctamente", "Operación Exitosa", MessageBoxButtons.OK,
             MessageBoxIcon.Information);
         if (egreso.TIPO == "FACTURA SISTEMA")
         {
             dosificacion.ID_SUCURSAL = 1;
             DataTable dataTableDosificacion = objetoDosificacion.select(dosificacion);
             dosificacion.ID = Convert.ToInt32(dataTableDosificacion.Rows[0]["Id"]);
             dosificacion.NUMERO_DE_AUTORIZACION = dataTableDosificacion.Rows[0]["Numero_De_Autorizacion"].ToString();
             factura.LLAVE = @dataTableDosificacion.Rows[0]["Llave"].ToString();
             factura.ID_USUARIO = SesionEnt.idUsuario;
             factura.ID_CAJA = SesionEnt.idCaja;
             factura.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
             factura.ID_EGRESO = egreso.ID;
             factura.ID_CLIENTE = egreso.ID_CLIENTE;
             factura.ID_DOSIFICACION = dosificacion.ID;
             factura.NUMERO_DE_AUTORIZACION = dosificacion.NUMERO_DE_AUTORIZACION;
             factura.NUMERO_DE_AUTORIZACION_AUXILIAR = dosificacion.NUMERO_DE_AUTORIZACION;
             factura.CI_O_NIT = textBoxCiONit.Text.Trim();
             factura.CI_O_NIT_AUXILIAR = factura.CI_O_NIT;
             factura.CLIENTE = textBoxCliente.Text.Trim().ToUpper();
             factura.FECHA = DateTime.Today.ToShortDateString();
             factura.FECHA_AUXILIAR = DateTime.Today.ToString("yyyyMMdd");
             factura.HORA = DateTime.Now.ToLongTimeString();
             factura.MONTO = egreso.MONTO;
             factura.MONTO_AUXILIAR = decimal.Round(factura.MONTO, 0).ToString();
             factura.MONTO_PAGADO = egreso.MONTO_PAGADO;
             factura.CAMBIO = egreso.CAMBIO;
             for (int rowIndex = 0; rowIndex < dataGridViewDetalleDeVenta.Rows.Count; rowIndex++)
             {
                 detalleDeFactura = new DetalleDeFacturaEnt();
                 detalleDeFactura.ID_PRODUCTO = Convert.ToInt32(dataGridViewDetalleDeVenta["Id_Producto", rowIndex].Value);
                 detalleDeFactura.DETALLE = dataGridViewDetalleDeVenta["Alias", rowIndex].Value.ToString();
                 detalleDeFactura.CANTIDAD = Convert.ToDecimal(dataGridViewDetalleDeVenta["Cantidad", rowIndex].Value);
                 detalleDeFactura.IMPORTE = Convert.ToDecimal(dataGridViewDetalleDeVenta["Monto_Total", rowIndex].Value);
                 objetoFactura.addDetalle(detalleDeFactura);
             }
             factura.ID = objetoFactura.add(factura);
             factura.NUMERO = objetoFactura.getNumber(factura);
             factura.NUMERO_AUXILIAR = factura.NUMERO.ToString();
             factura.CODIGO_DE_CONTROL = objetoFactura.getControlCode(factura);
             objetoFactura.updateControlCode(factura);
             objetoEgreso.updateFacturadoById(egreso);
             detalleDeFactura.ID_FACTURA = factura.ID;
             if (SesionEnt.printerEnabled)
             {
                 printInvoice(objetoFactura.getById(factura), objetoDetalleDeFactura.obtainById(detalleDeFactura));
             }
             else
             {
                 MessageBox.Show("La impresora se halla deshabilidada. No se imprimió la factura.", "Advertencia",
                     MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
         this.Close();
     }
 }
Example #8
0
 private void Cierre_Load(object sender, EventArgs e)
 {
     aperturaDeCaja.ID_USUARIO = SesionEnt.idUsuario;
     aperturaDeCaja.ID_CAJA = SesionEnt.idCaja;
     if (objetoAperturaDeCaja.exists(aperturaDeCaja) > 0)
     {
         if (MessageBox.Show("Se cerrarán las ventanas Nueva Venta, Modificar Venta, Anular Factura. ¿Desea continuar? ",
             "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
         {
             foreach (Form form in Application.OpenForms)
             {
                 if (form.GetType() == typeof(Venta.Nueva))
                 {
                     form.Close();
                 }
                 if (form.GetType() == typeof(Venta.Modificar))
                 {
                     form.Close();
                 }
                 if (form.GetType() == typeof(Factura.Anular))
                 {
                     form.Close();
                 }
             }
             egreso.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
             if (objetoEgreso.existsMinorSales(egreso) == 0)
             {
                 loadFormData();
                 timerHora.Start();
             }
             else
             {
                 if (MessageBox.Show("Existen ventas menores, ¿Desea imprimir la factura?", "Ventas Menores", MessageBoxButtons.YesNo,
                     MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                 {
                     DataTable dataTableEgresos = objetoEgreso.getMinorSales(egreso);
                     DataTable dataTableDetalleDeEgresos = objetoDetalleDeEgreso.getMinorSalesDetail(egreso);
                     DataTable dataTableDosificacion = objetoDosificacion.select(dosificacion);
                     dosificacion.ID = Convert.ToInt32(dataTableDosificacion.Rows[0]["Id"]);
                     dosificacion.NUMERO_DE_AUTORIZACION = dataTableDosificacion.Rows[0]["Numero_De_Autorizacion"].ToString();
                     factura.LLAVE = @dataTableDosificacion.Rows[0]["Llave"].ToString();
                     factura.ID_USUARIO = egreso.ID_USUARIO;
                     factura.ID_CAJA = egreso.ID_CAJA;
                     factura.ID_APERTURA_DE_CAJA = aperturaDeCaja.ID;
                     factura.ID_EGRESO = 0;
                     factura.ID_CLIENTE = 1;
                     factura.ID_DOSIFICACION = dosificacion.ID;
                     factura.NUMERO_DE_AUTORIZACION = dosificacion.NUMERO_DE_AUTORIZACION;
                     factura.NUMERO_DE_AUTORIZACION_AUXILIAR = dosificacion.NUMERO_DE_AUTORIZACION;
                     factura.CI_O_NIT = "0";
                     factura.CI_O_NIT_AUXILIAR = factura.CI_O_NIT;
                     factura.CLIENTE = "VENTAS MENORES DEL DIA";
                     factura.FECHA = DateTime.Today.ToShortDateString();
                     factura.FECHA_AUXILIAR = DateTime.Today.ToString("yyyyMMdd");
                     factura.HORA = DateTime.Now.ToLongTimeString();
                     factura.MONTO = Convert.ToDecimal(dataTableEgresos.Rows[0]["Monto"]);
                     factura.MONTO_AUXILIAR = decimal.Round(factura.MONTO, 0).ToString();
                     factura.MONTO_PAGADO = Convert.ToDecimal(dataTableEgresos.Rows[0]["Monto_Pagado"]);
                     factura.CAMBIO = Convert.ToDecimal(dataTableEgresos.Rows[0]["Cambio"]); ;
                     for (int filas = 0; filas < dataTableDetalleDeEgresos.Rows.Count; filas++)
                     {
                         detalleDeFactura = new DetalleDeFacturaEnt();
                         detalleDeFactura.ID_PRODUCTO = Convert.ToInt32(dataTableDetalleDeEgresos.Rows[filas]["Id"]);
                         detalleDeFactura.DETALLE = dataTableDetalleDeEgresos.Rows[filas]["Alias"].ToString();
                         detalleDeFactura.CANTIDAD = Convert.ToDecimal(dataTableDetalleDeEgresos.Rows[filas]["Cantidad"]);
                         detalleDeFactura.IMPORTE = Convert.ToDecimal(dataTableDetalleDeEgresos.Rows[filas]["Precio_Total"]);
                         objetoFactura.addDetalle(detalleDeFactura);
                     }
                     factura.ID = objetoFactura.add(factura);
                     factura.NUMERO = objetoFactura.getNumber(factura);
                     factura.NUMERO_AUXILIAR = factura.NUMERO.ToString();
                     factura.CODIGO_DE_CONTROL = objetoFactura.getControlCode(factura);
                     objetoFactura.updateControlCode(factura);
                     objetoEgreso.updateFacturado(egreso);
                     detalleDeFactura.ID_FACTURA = factura.ID;
                     if (SesionEnt.printerEnabled)
                     {
                         printInvoice(objetoFactura.getById(factura), objetoDetalleDeFactura.obtainById(detalleDeFactura));
                     }
                     else
                     {
                         MessageBox.Show("La impresora se halla deshabilidada. No se imprimió la factura.", "Advertencia",
                             MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     }
                     loadFormData();
                     timerHora.Start();
                 }
                 else
                 {
                     buttonGuardar.Enabled = false;
                 }
             }
         }
     }
     else
     {
         MessageBox.Show("No realizó la apertura de caja.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         buttonGuardar.Enabled = false;
     }
 }