Пример #1
0
 /// <summary>
 /// Almacena el registro de una ENTIDAD de registro de Tipo CuentasCorrientes
 /// En la BASE de DATO la Tabla : [GestionComercial.CuentasCorrientes]
 /// <summary>
 /// <param name = >itemCuentasCorrientes</param>
 public ReturnValor Insert(BECuentaCorriente pcuentaCorriente)
 {
     try
     {
         using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
         {
             oReturnValor.CodigoRetorno = oCuentasCorrientesData.Insert(pcuentaCorriente);
             if (oReturnValor.CodigoRetorno != null)
             {
                 oReturnValor.Exitosa = true;
                 oReturnValor.Message = HelpEventos.MessageEvento(HelpEventos.Process.NEW);
                 tx.Complete();
             }
         }
     }
     catch (Exception ex)
     {
         oReturnValor = HelpException.mTraerMensaje(ex);
     }
     return(oReturnValor);
 }
Пример #2
0
        ///// <summary>
        ///// Retorna una LISTA de registro de la Entidad CajaBancos.ComprobanteEmitidos POR FOREIGN KEY
        ///// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos]
        ///// <summary>
        ///// <returns>Entidad</returns>
        //public List<CajaRegistroAux> List(int pcodEmpresa, Nullable<DateTime> prm_fecIngresoInicio,
        //                                  Nullable<DateTime> prm_fecIngresoFinal, int? prm_codDocumReg,
        //                                  string prm_codRegistroDestinoComp, string prm_codPersonaEntidad,
        //                                  int? prm_codEmpleado, string prm_codRegistroMoneda,
        //                                  string prm_codParteDiario, string prm_codFormaDePago,
        //                                  bool? prm_indConciliado)
        //{
        //    List<CajaRegistroAux> listaCajaRegistro = new List<CajaRegistroAux>();
        //    try
        //    {
        //        listaCajaRegistro = oCajaRegistroData.List(pcodEmpresa,
        //               HelpTime.ConvertYYYYMMDD(prm_fecIngresoInicio),
        //               HelpTime.ConvertYYYYMMDD(prm_fecIngresoFinal),
        //               prm_codDocumReg,
        //               prm_codRegistroDestinoComp,
        //               prm_codPersonaEntidad,
        //               prm_codEmpleado,
        //               prm_codRegistroMoneda,
        //               prm_codParteDiario,
        //               prm_codFormaDePago,
        //               prm_indConciliado);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //    return listaCajaRegistro;
        //}

        #endregion

        #region /* Proceso de INSERT RECORD */

        /// <summary>
        /// Almacena el registro de una ENTIDAD de registro de Tipo ComprobanteEmitidos
        /// En la BASE de DATO la Tabla : [CajaBancos.ComprobanteEmitidos]
        /// </summary>
        /// <param name="itemComprobanteEmitidos"></param>
        /// <param name="comprobanteEmision"></param>
        /// <returns></returns>
        public ReturnValor PagarEfectivo(CajaRegistroAux cajaRegistro, BEComprobanteEmision comprobanteEmision,
                                         decimal prm_MontoPagadoMN, decimal prm_MontoPagadoMI,
                                         decimal prm_SaldoActualMN, decimal prm_SaldoActualMI)
        {
            try
            {
                using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
                {
                    //oReturnValor.Exitosa = oCajaRegistroData.Insert(cajaRegistro);
                    bool    SUCEDE_OK  = true;
                    bool    SUCEDE_CT  = true;
                    decimal DIFERENCIA = 0;
                    if (cajaRegistro.codRegistroMoneda == ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_MonedaNac))
                    {
                        if (prm_MontoPagadoMN < 0)
                        {
                            prm_MontoPagadoMN = prm_MontoPagadoMN * (-1);
                        }
                        decimal pagadoHastaAhora = prm_MontoPagadoMN + cajaRegistro.monImportePagado;
                        if (pagadoHastaAhora == comprobanteEmision.ValorTotalPrecioVenta)
                        {
                            SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea);
                        }
                    }
                    else
                    {
                        if (prm_SaldoActualMI == cajaRegistro.monImportePagadoEx)
                        {
                            SUCEDE_OK = oComprobanteEmisionData.UpdateCancelacion(comprobanteEmision.codDocumReg, comprobanteEmision.CodigoArguEstadoDocu, cajaRegistro.gloObservacion, cajaRegistro.fecIngreso, cajaRegistro.codParteDiario, cajaRegistro.segUsuarioCrea);
                        }
                    }

                    CuentasCorrientesData oCuentasCorrientesData = new CuentasCorrientesData();
                    BECuentaCorriente     cuentacorriente        = new BECuentaCorriente
                    {
                        codEmpresa            = comprobanteEmision.codEmpresa,
                        codDocumReg           = comprobanteEmision.codDocumReg,
                        CodigoArguDestinoComp = comprobanteEmision.CodigoArguDestinoComp,
                        CodigoArguMoneda      = comprobanteEmision.CodigoArguMoneda,
                        CodigoArguTipoMovimi  = comprobanteEmision.CodigoArguTipoDeOperacion,
                        CodigoComprobante     = comprobanteEmision.CodigoComprobante,
                        codEmpleado           = cajaRegistro.codEmpleado,
                        CodigoPersonaEmpre    = comprobanteEmision.CodigoPersonaEmpre,
                        CodigoPuntoVenta      = cajaRegistro.codPuntoDeVenta,
                        DEBETipoCambioVTA     = cajaRegistro.monTCambioVTA,
                        DEBETipoCambioCMP     = cajaRegistro.monTCambioCMP,
                        DEBETotalCuotaNacion  = cajaRegistro.monImportePagado,
                        DEBETotalCuotaExtran  = cajaRegistro.monImportePagadoEx,
                        Estado              = true,
                        NumeroComprobante   = comprobanteEmision.NumeroComprobante,
                        FechaDeEmisionDeuda = cajaRegistro.fecIngreso,
                        FechaDeVencimiento  = comprobanteEmision.FechaDeEmision,
                        NumeroDeCuota       = 0,
                        Observaciones       = comprobanteEmision.Observaciones == null ?
                                              "Registro automático desde Pago en efectivo - " :
                                              "Registro automático desde Pago en efectivo - " + comprobanteEmision.Observaciones,
                        SegUsuarioCrea    = comprobanteEmision.SegUsuarioCrea,
                        SegUsuarioEdita   = comprobanteEmision.SegUsuarioCrea,
                        DHDiferenciaMonto = DIFERENCIA,
                        TipoDeIngreso     = comprobanteEmision.CodigoArguTipoDeOperacion ==
                                            ConfigCROM.AppConfig(cajaRegistro.codEmpresa, ConfigTool.DEFAULT_Movim_Venta) ? "H" : "D",
                        CodigoParte = comprobanteEmision.CodigoParte
                    };

                    SUCEDE_CT = oCuentasCorrientesData.Insert(cuentacorriente) == null ? false : true;

                    if (oReturnValor.Exitosa && SUCEDE_OK && SUCEDE_CT)
                    {
                        oReturnValor.Message = HelpMessages.gc_DOCUM_YA_CANCELADO;
                        tx.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                oReturnValor = HelpException.mTraerMensaje(ex);
            }
            return(oReturnValor);
        }