Exemple #1
0
 private void btnBuscar_Click(object sender, EventArgs e)
 {
     if (pago == FORMA_PAGO.EFECTIVO)
     {
         try
         {
             double dTotal_Venta   = Convert.ToDouble(txtTotalPago.Text);
             double dPago_Efectivo = txtSuPago.Numero;
             double dPago_Tarjeta  = 0;
             if (dTotal_Venta <= (dPago_Efectivo + dPago_Tarjeta))
             {
                 long   empleadoid = -1;
                 string empleado   = string.Empty;
                 empleadoid = frmVenta.obtenerEmpleadoId();
                 empleado   = frmVenta.obtenerNombreEmpleado();
                 double  TotalPagar = Global.StringToDouble(txtTotalPago.Text);
                 double  SuPago     = txtSuPago.Numero;
                 int     count      = 1;
                 bool    result     = true;
                 int     length     = frmVenta.gridViewDetalleVenta.RowCount;
                 Venta   v          = new Venta();
                 decimal subTotal   = 0;
                 double  iva        = 0;
                 double  descuento  = 0;
                 for (int i = 0; i < length; i++)
                 {
                     VentaDetalle detalle = (VentaDetalle)frmVenta.gridViewDetalleVenta.GetRow(i);
                     descuento          += detalle.Descuento_ISR;
                     iva                += 0;
                     subTotal           += detalle.Importe;
                     detalle.Id_Sucursal = 0;
                     detalle.Quien_Surte = empleado;
                     v.Detalles.Add(detalle);
                 }
                 v.IdDatosFiscales = 0;
                 v.Id_Empleado     = empleadoid;
                 frmVenta.agregarDatosVenta(ref v);
                 //v.Id_Tipo_Venta = Convert.ToInt32(Venta.TIPO_VENTA.CONTADO);
                 v.Id_Metodo_pago = idMetodoPago;
                 v.cliente        = frmVenta.obtenerNombreCliente();
                 v.Status         = "PAGADA";
                 v.Subtotal       = subTotal - Convert.ToDecimal(iva);
                 v.IVAimporte     = 0;
                 v.Total          = subTotal;// +Convert.ToDecimal(iva);
                 v.Descuento      = Convert.ToDecimal(descuento);
                 if (v.TIPO == TIPO_MOVIMIENTO.VENTA)
                 {
                     v.Comentario = "Venta de contado con un total de $" + txtTotalPago.Text + " en efectivo.";
                 }
                 else
                 {
                     v.Comentario = "Compra de contado con un total de $" + txtTotalPago.Text + " en efectivo.";
                 }
                 v.Su_Pago   = (decimal)SuPago;
                 v.Su_Cambio = v.Su_Pago - v.Total;
                 count++;
                 if (result)
                 {
                     result = v.Grabar();
                 }
                 if (result)
                 {
                     if (v.TIPO == TIPO_MOVIMIENTO.VENTA)
                     {
                         DevExpress.XtraEditors.XtraMessageBox.Show(this, "La venta se guardó correctamente.", this.ProductName, MessageBoxButtons.OK);
                     }
                     else
                     {
                         DevExpress.XtraEditors.XtraMessageBox.Show(this, "La compra se guardó correctamente.", this.ProductName, MessageBoxButtons.OK);
                     }
                     frmVenta.Limpiar();
                     this.Close();
                 }
             }
             else
             {
                 DevExpress.XtraEditors.XtraMessageBox.Show(this, "El pago no cubre el total de la venta.", this.ProductName, MessageBoxButtons.OK);
                 txtSuPago.Focus();
             }
             //}
         }
         catch (Exception ex)
         {
             DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message);
         }
     }
     else
     {
         try
         {
             double dTotal_Venta   = Convert.ToDouble(txtTotalPago.Text);
             double dPago_Efectivo = 0;
             double dPago_Tarjeta  = 0;
             dPago_Tarjeta  = txtRestante.Numero;
             dPago_Efectivo = txtSuPago.Numero;
             bool adelante = false;
             if (txtRestante.Numero > 0)
             {
                 if (txtReferencia.Numero == 0)
                 {
                     DevExpress.XtraEditors.XtraMessageBox.Show("Favor de agregar los últimos 4 digitos de la tarjeta o cuenta para referenciar la venta.", this.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                     txtReferencia.Focus();
                     return;
                 }
             }
             adelante = (dTotal_Venta >= (dPago_Efectivo + dPago_Tarjeta) && Global.StringToDouble(txtCambio.Text) >= 0);
             if (adelante)//(dTotal_Venta <= (dPago_Efectivo + dPago_Tarjeta)) || pago == FORMA_PAGO.CREDITO)
             {
                 long   empleadoid = -1;
                 string empleado   = string.Empty;
                 empleadoid = frmVenta.obtenerEmpleadoId();
                 empleado   = frmVenta.obtenerNombreEmpleado();
                 double  TotalPagar = Global.StringToDouble(txtTotalPago.Text);
                 double  SuPago     = dPago_Efectivo + dPago_Tarjeta;
                 int     count      = 1;
                 bool    result     = true;
                 int     length     = frmVenta.gridViewDetalleVenta.RowCount;
                 Venta   v          = new Venta();
                 decimal subTotal   = 0;
                 double  iva        = 0;
                 double  descuento  = 0;
                 for (int i = 0; i < length; i++)
                 {
                     VentaDetalle detalle = (VentaDetalle)frmVenta.gridViewDetalleVenta.GetRow(i);
                     descuento          += 0;
                     iva                += 0;
                     subTotal           += detalle.Importe;
                     detalle.Id_Sucursal = 0;
                     detalle.Quien_Surte = empleado;
                     v.Detalles.Add(detalle);
                 }
                 v.IdDatosFiscales = 0;
                 v.Id_Empleado     = empleadoid;
                 frmVenta.agregarDatosVenta(ref v);
                 v.Id_Tipo_Venta  = Convert.ToInt32(Venta.TIPO_VENTA.CREDITO);
                 v.Id_Metodo_pago = idMetodoPago;
                 v.cliente        = frmVenta.obtenerNombreCliente();
                 v.Status         = "CREDITO";
                 v.Subtotal       = subTotal - Convert.ToDecimal(iva);
                 v.IVAimporte     = 0;
                 v.Total          = subTotal;// +Convert.ToDecimal(iva);
                 v.Descuento      = Convert.ToDecimal(descuento);
                 if (dPago_Efectivo > 0)
                 {
                     if (v.TIPO == TIPO_MOVIMIENTO.VENTA)
                     {
                         v.Comentario = "Venta a crédito con enganche o abono de $" + Global.DoubleToString(dPago_Efectivo) + " en efectivo. Quedando un saldo de $" + txtCambio.Text + ".";
                     }
                     else
                     {
                         v.Comentario = "Compra a crédito con enganche o abono de $" + Global.DoubleToString(dPago_Efectivo) + " en efectivo. Quedando un saldo de $" + txtCambio.Text + ".";
                     }
                     v.Su_Pago = Convert.ToDecimal(dPago_Efectivo);
                     v.Debe    = Convert.ToDecimal(Global.StringToDouble(txtCambio.Text));
                 }
                 else
                 {
                     if (v.TIPO == TIPO_MOVIMIENTO.VENTA)
                     {
                         v.Comentario = "Venta a crédito con un saldo de $" + txtTotalPago.Text;
                     }
                     else
                     {
                         v.Comentario = "Compra a crédito con un saldo de $" + txtTotalPago.Text;
                     }
                     v.Debe = Convert.ToDecimal(txtTotalPago.Text);
                 }
                 count++;
                 if (result)
                 {
                     result = v.Grabar();
                 }
                 if (result)
                 {
                     if (v.TIPO == TIPO_MOVIMIENTO.VENTA)
                     {
                         DevExpress.XtraEditors.XtraMessageBox.Show(this, "La venta se guardó correctamente.", this.ProductName, MessageBoxButtons.OK);
                     }
                     else
                     {
                         DevExpress.XtraEditors.XtraMessageBox.Show(this, "La compra se guardó correctamente.", this.ProductName, MessageBoxButtons.OK);
                     }
                     frmVenta.Limpiar();
                     this.Close();
                 }
             }
         }
         catch (Exception ex)
         {
         }
     }
 }