Ejemplo n.º 1
0
        private void btnOperar_Click(object sender, EventArgs e)
        {
            bool   grabar = true;
            string rpta   = "";

            if (operacion.Equals("RECHAZAR"))
            {
                if (string.IsNullOrWhiteSpace(txtRazon.Text))
                {
                    grabar = false;
                }
            }
            if (grabar)
            {
                MPagoCreditoEncabezado pago = new MPagoCreditoEncabezado();
                pago.IdTienda          = Configuraciones.Configuraciones.idtienda;
                pago.IdPagoCreditoEnc  = id_pago_recibo_enc;
                pago.IdTipoPagoCredito = 4;
                pago.IdEstadoRecibo    = id_estado_recibo;
                pago.Opcion            = opcion;

                List <MPagoCreditoDetalle> detalleInsercion = new List <MPagoCreditoDetalle>();
                for (int i = 0; i < gridViewDetallePago.DataRowCount; i++)
                {
                    if (Convert.ToDecimal(gridViewDetallePago.GetRowCellValue(i, "monto_pagar")) > 0)
                    {
                        MPagoCreditoDetalle detalle = new MPagoCreditoDetalle();
                        detalle.IdTienda         = Configuraciones.Configuraciones.idtienda;
                        detalle.IdPromesaPagoDet = Convert.ToInt32(gridViewDetallePago.GetRowCellValue(i, "id_promesa_pago_det"));
                        detalle.MontoCuota       = Convert.ToDecimal(gridViewDetallePago.GetRowCellValue(i, "monto"));
                        detalle.Opcion           = 0;
                        detalleInsercion.Add(detalle);
                    }
                }

                rpta = ControllerPagoCredito.ActualizarEstadoDelPago(pago, detalleInsercion);
                if (rpta == "OK")
                {
                    XtraMessageBox.Show("LA OPERACION SE REALIZO CORRECTAMENTE", Configuraciones.Configuraciones.NombreDelSistema, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    FormPagosTransito form = FormPagosTransito.GetInstancia();
                    form.MostrarPagosEnTransitoPendientesDeAplicar();
                    this.Close();
                }
                else
                {
                    XtraMessageBox.Show("Ocurrio un error al realizar la operación, por favor consulte a su administrador de datos " + rpta, "Erro del sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public static string RealizarPago(MPagoCreditoEncabezado pago, List <MPagoCreditoDetalle> detalleInsercion /*, List<MSubOrdenDetalle> detalleEliminacion*/)
        {
            string         rpta      = "";
            MProcedimiento objProc   = new MProcedimiento();
            MExecute       objExcute = new MExecute();

            try
            {
                objProc.NombreProcedimiento = "SPSave_PagoCreditoEncabezado";
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_pago_credito_enc", Valor = pago.IdPagoCreditoEnc, Tipo = DbType.Int64, Out = true
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@monto_recibo", Valor = pago.MontoRecibido, Tipo = DbType.Decimal, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_tipo_pago", Valor = pago.IdTipoPagoCredito, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_cliente", Valor = pago.IdCliente, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@nombre_cliente", Valor = pago.NombreCliente, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@detalle_recibo", Valor = pago.DetalleRecibo, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@codigo_pago_lugar", Valor = pago.NumeroDeposito, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@lugar_de_pago", Valor = pago.Banco, Tipo = DbType.String, Out = false
                });
                if (pago.IdTipoPagoCredito == 4)
                {
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@fecha_de_pago", Valor = pago.FechaDepositoBanco, Tipo = DbType.Date, Out = false
                    });
                }
                else
                {
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@fecha_de_pago", Valor = DBNull.Value, Tipo = DbType.Date, Out = false
                    });
                }

                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_usuario_creacion", Valor = pago.IdUsuario, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_tienda", Valor = pago.IdTienda, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_serie", Valor = pago.IdSerie, Tipo = DbType.Int32, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@serie", Valor = pago.Serie, Tipo = DbType.String, Out = false
                });
                objProc.Parametros.Add(new MParametro {
                    Nombre = "@id_origen_anticipo", Valor = pago.IdOrigenAnticipo, Tipo = DbType.Int32, Out = false
                });
                objExcute.IniciarTran();
                rpta = objExcute.UpsertTransaction(objProc);

                if (detalleInsercion != null)
                {
                    if (rpta.Equals("OK"))
                    {
                        int idencabezadoTabla = Convert.ToInt32(objExcute.ParametroDeSalida("@id_pago_credito_enc"));
                        IdPagoEnc = Convert.ToInt32(objExcute.ParametroDeSalida("@id_pago_credito_enc"));

                        foreach (MPagoCreditoDetalle item in detalleInsercion)
                        {
                            item.IdPagoCreditoEnc = idencabezadoTabla;
                            MProcedimiento objProc1 = new MProcedimiento();
                            objProc1.NombreProcedimiento = "SPSavePagoCreditoDetalle";
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_tienda", Valor = item.IdTienda, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_pago_credito_enc", Valor = item.IdPagoCreditoEnc, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_promesa_pago_det", Valor = item.IdPromesaPagoDet, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_usuario", Valor = item.IdUsuario, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@monto_pagar", Valor = item.MontoPagar, Tipo = DbType.Decimal, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@monto_interes", Valor = item.MontoInteres, Tipo = DbType.Decimal, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@monto_cuota", Valor = item.MontoCuota, Tipo = DbType.Decimal, Out = false
                            });
                            rpta = objExcute.UpsertTransaction(objProc1);
                            if (!rpta.Equals("OK"))
                            {
                                break;
                            }
                        }
                    }
                }

                if (rpta.Equals("OK"))
                {
                    objExcute.TranasctionCommit();
                }
                else
                {
                    objExcute.TranasctionRollback();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                objExcute.cerrarConexionTransaccion();
            }
            return(rpta);
        }
        public static string ActualizarEstadoDelPago(MPagoCreditoEncabezado pago, List <MPagoCreditoDetalle> detalleInsercion /*, List<MSubOrdenDetalle> detalleEliminacion*/)
        {
            string         rpta      = "";
            MProcedimiento objProc   = new MProcedimiento();
            MExecute       objExcute = new MExecute();

            try
            {
                if (pago != null)
                {
                    objProc.NombreProcedimiento = "SPUpdate_ActualizarPago";
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@id_tienda", Valor = pago.IdTienda, Tipo = DbType.Int64, Out = false
                    });
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@id_pago_credito_recibo_enc", Valor = pago.IdPagoCreditoEnc, Tipo = DbType.Int32, Out = false
                    });
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@id_tipo_pago", Valor = pago.IdTipoPagoCredito, Tipo = DbType.Int32, Out = false
                    });
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@id_estado_recibo", Valor = pago.IdEstadoRecibo, Tipo = DbType.Int32, Out = false
                    });
                    objProc.Parametros.Add(new MParametro {
                        Nombre = "@opcion", Valor = pago.Opcion, Tipo = DbType.Int32, Out = false
                    });
                    objExcute.IniciarTran();
                    rpta = objExcute.UpsertTransaction(objProc);
                }


                if (detalleInsercion != null)
                {
                    if (rpta.Equals("OK"))
                    {
                        foreach (MPagoCreditoDetalle item in detalleInsercion)
                        {
                            MProcedimiento objProc1 = new MProcedimiento();
                            objProc1.NombreProcedimiento = "SPUpdate_ActualizarPagoDetalle";
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_tienda", Valor = item.IdTienda, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@id_promesa_pago_det", Valor = item.IdPromesaPagoDet, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@monto", Valor = item.MontoCuota, Tipo = DbType.Int64, Out = false
                            });
                            objProc1.Parametros.Add(new MParametro {
                                Nombre = "@opcion", Valor = item.Opcion, Tipo = DbType.Decimal, Out = false
                            });
                            rpta = objExcute.UpsertTransaction(objProc1);
                            if (!rpta.Equals("OK"))
                            {
                                break;
                            }
                        }
                    }
                }

                if (rpta.Equals("OK"))
                {
                    objExcute.TranasctionCommit();
                }
                else
                {
                    objExcute.TranasctionRollback();
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                objExcute.cerrarConexionTransaccion();
            }
            return(rpta);
        }
Ejemplo n.º 4
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);
                }
            }
        }