private void buttonAnular_Click(object sender, EventArgs e)
 {
     if (checkForErrors())
     {
         objetoFactura.cancel(factura);
         if (!checkBoxRefacturar.Checked)
         {
             objetoEgreso.cancel(egreso);
             detalleDeEgreso.ID_EGRESO = egreso.ID;
             objetoDetalleDeEgreso.cancel(detalleDeEgreso);
             if (objetoEgreso.isClosed(egreso))
             {
                 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 = 0 - egreso.MONTO;
                 objetoDevolucion.add(devolucion);
             }
         }
         else
         {
             Venta.Modificar formModificarVenta = new Venta.Modificar(egreso.ID);
             formModificarVenta.MdiParent = this.MdiParent;
             this.Close();
             formModificarVenta.Show();
         }
     }
 }
 public void close(DevolucionEnt devolucion)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.Text;
     sqlCommand.CommandText = "Update Devolucion Set Cerrado = 1 Where Estado = 1 And Id_Apertura_De_Caja = @Id_Apertura_De_Caja";
     sqlCommand.Parameters.AddWithValue("@Id_Apertura_De_Caja", devolucion.ID_APERTURA_DE_CAJA);
     sqlConnection.Open();
     sqlCommand.ExecuteNonQuery();
     sqlConnection.Close();
 }
 public decimal getRefundsTotalAmount(DevolucionEnt devolucion)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.Text;
     sqlCommand.CommandText = "Select ISNULL(SUM(Monto), 0) As Monto_De_Devoluciones From Devolucion Where Estado = 1 "
         + "And Id_Apertura_De_Caja = @Id_Apertura_De_Caja";
     sqlCommand.Parameters.AddWithValue("@Id_Apertura_De_Caja", devolucion.ID_APERTURA_DE_CAJA);
     sqlConnection.Open();
     decimal refundsTotalAmount = Convert.ToDecimal(sqlCommand.ExecuteScalar());
     sqlConnection.Close();
     return refundsTotalAmount;
 }
 public int add(DevolucionEnt devolucion)
 {
     SqlConnection sqlConnection = new SqlConnection(ConexionDal.connectionString);
     SqlCommand sqlCommand = sqlConnection.CreateCommand();
     sqlCommand.CommandType = CommandType.StoredProcedure;
     sqlCommand.CommandText = "insertarDevolucion";
     sqlCommand.Parameters.AddWithValue("@Id_Usuario", devolucion.ID_USUARIO);
     sqlCommand.Parameters.AddWithValue("@Id_Caja", devolucion.ID_CAJA);
     sqlCommand.Parameters.AddWithValue("@Id_Apertura_De_Caja", devolucion.ID_APERTURA_DE_CAJA);
     sqlCommand.Parameters.AddWithValue("@Id_Egreso", devolucion.ID_EGRESO);
     sqlCommand.Parameters.AddWithValue("@Hora", devolucion.HORA);
     sqlCommand.Parameters.AddWithValue("@Monto", devolucion.MONTO);
     sqlConnection.Open();
     int id = Convert.ToInt32(sqlCommand.ExecuteScalar());
     sqlConnection.Close();
     return id;
 }
 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();
     }
 }
 public decimal getRefundsTotalAmount(DevolucionEnt devolucion)
 {
     return objetoDevolucion.getRefundsTotalAmount(devolucion);
 }
 public void close(DevolucionEnt devolucion)
 {
     objetoDevolucion.close(devolucion);
 }
 public int add(DevolucionEnt devolucion)
 {
     return objetoDevolucion.add(devolucion);
 }