예제 #1
0
        public void MostrarPromesasPago(int id_promesa_pago_enc, int id_cliente, string cliente, string envio)
        {
            decimal saldo = 0;

            this.id_cliente          = id_cliente;
            this.id_promesa_pago_enc = id_promesa_pago_enc;
            txtNumeroDeEnvio.Text    = envio;
            txtCliente.Text          = cliente;
            gridControlDetallePromesasPago.DataSource = ControllerPagoCredito.MostrarDetallePromesasDePagoParaCobros(id_promesa_pago_enc);
            gridControlDetallePromesasPago.ForceInitialize();
            gridViewDetallePromesasPago.BestFitColumns();
            for (int i = 0; i < gridViewDetallePromesasPago.DataRowCount; i++)
            {
                saldo = saldo + (Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "saldo")));
            }
            spinEditSaldoAcutal.Value = saldo;
        }
예제 #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool   guardar = true;
            string rpta = "", descripcionPago;

            if (radioGroupTiposPagos.SelectedIndex == 3)
            {
                if (string.IsNullOrWhiteSpace(txtNumeroBoleta.Text))
                {
                    XtraMessageBox.Show("Debe escribir el número de boleta", "Realizando pagos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    guardar = false;
                }
                if (string.IsNullOrWhiteSpace(dateEditFechaPago.Text))
                {
                    XtraMessageBox.Show("Debe indicar la fecha de pago del deposito", "Realizando pagos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    guardar = false;
                }
                if (string.IsNullOrWhiteSpace(txtBanco.Text))
                {
                    XtraMessageBox.Show("Debe indicar el banco de pago", "Realizando pagos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    guardar = false;
                }
            }
            if (radioGroupTiposPagos.SelectedIndex != 3)
            {
                guardar = true;
            }
            if (radioGroupTiposPagos.SelectedIndex < 0)
            {
                XtraMessageBox.Show("Debe indicar el tipo de pago", "Realizando pagos", MessageBoxButtons.OK, MessageBoxIcon.Information);
                guardar = false;
            }

            //for (int i = 0; i < gridViewDetallePromesasPago.DataRowCount; i++)
            //{
            //    if (Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "monto_pagar")) > 0)
            //    {

            //    }
            //    if (Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "monto_pagar")) == 0)
            //    {
            //        XtraMessageBox.Show("EL monto de uno o varios pagos debe ser mayor a 0", "Realizando pagos", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //        guardar = false;
            //        break;
            //    }
            //}
            if (guardar)
            {
                MPagoCreditoEncabezado pago = new MPagoCreditoEncabezado();
                pago.MontoRecibido      = spinEditAbonoTotal.Value;
                pago.IdTipoPagoCredito  = Convert.ToInt32(radioGroupTiposPagos.EditValue);
                pago.IdCliente          = id_cliente;
                pago.NombreCliente      = txtCliente.Text;
                pago.DetalleRecibo      = radioGroupTiposPagos.SelectedIndex == 3 ? "Banco: " + txtBanco.Text + ", Número de boleta: " + txtNumeroBoleta.Text + ", Fecha de pago: " + dateEditFechaPago.EditValue.ToString() : "";
                pago.Banco              = txtBanco.Text;
                pago.NumeroDeposito     = txtNumeroBoleta.Text;
                pago.FechaDepositoBanco = Convert.ToDateTime(dateEditFechaPago.EditValue);
                pago.IdUsuario          = Configuraciones.Configuraciones.idusuario;
                pago.IdTienda           = Configuraciones.Configuraciones.idtienda;
                pago.IdSerie            = 7;
                pago.Serie              = "A";
                pago.IdOrigenAnticipo   = 3;

                List <MPagoCreditoDetalle> detalleInsercion = new List <MPagoCreditoDetalle>();
                for (int i = 0; i < gridViewDetallePromesasPago.DataRowCount; i++)
                {
                    if (Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "monto_pagar")) > 0)
                    {
                        MPagoCreditoDetalle detalle = new MPagoCreditoDetalle();
                        detalle.IdTienda         = Configuraciones.Configuraciones.idtienda;
                        detalle.IdPromesaPagoDet = Convert.ToInt32(gridViewDetallePromesasPago.GetRowCellValue(i, "id_promesa_pago_det"));
                        detalle.IdUsuario        = Configuraciones.Configuraciones.idusuario;
                        detalle.MontoPagar       = Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "monto_pagar"));
                        detalle.MontoCuota       = Convert.ToDecimal(gridViewDetallePromesasPago.GetRowCellValue(i, "saldo1"));
                        detalle.MontoInteres     = 0;
                        detalleInsercion.Add(detalle);
                    }
                }

                rpta = ControllerPagoCredito.RealizarPago(pago, detalleInsercion);
                if (rpta == "OK")
                {
                    XtraMessageBox.Show("EL PAGO SE REALIZO CORRECTAMENTE", Configuraciones.Configuraciones.NombreDelSistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    gridControlDetallePromesasPago.DataSource = ControllerPagoCredito.MostrarDetallePromesasDePagoParaCobros(id_promesa_pago_enc);
                    gridControlDetallePromesasPago.ForceInitialize();
                    gridViewDetallePromesasPago.BestFitColumns();
                    spinEditAbonoTotal.Value = 0;

                    ControllerMovimientoDinero.GrabarEntrada(ControllerPagoCredito.IdPagoEnc
                                                             , Configuraciones.Configuraciones.idtienda
                                                             , Configuraciones.Configuraciones.idusuario
                                                             , 7
                                                             , spinEditAbonoTotal.Value
                                                             , "A"
                                                             , 0);

                    if (gridViewDetallePromesasPago.DataRowCount == 0)
                    {
                        string res = "";
                        res = ControllerPagoCredito.CancelarCreditoVenta(id_promesa_pago_enc);
                        if (res != "OK")
                        {
                            XtraMessageBox.Show("Error al cancelar el credito");
                        }
                    }

                    Ventas.Complementos.ImprimirRecibo recibo = new Ventas.Complementos.ImprimirRecibo(ControllerPagoCredito.IdPagoEnc);
                    recibo.ShowDialog();


                    FormBuscarCreditoPorCliente modalBuscar = new FormBuscarCreditoPorCliente(1, principal);
                    modalBuscar.cliente    = txtCliente.Text;
                    modalBuscar.id_cliente = this.id_cliente;
                    modalBuscar.ShowDialog();
                }
                else
                {
                    XtraMessageBox.Show("Ocurrio un error al realizar el pago, por favor consulte a su administrador de datos " + rpta, "Erro del sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }