示例#1
0
 /// <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)
 {
     return(new CajaRegistroLogic().PagarEfectivo(cajaRegistro,
                                                  comprobanteEmision,
                                                  prm_MontoPagadoMN,
                                                  prm_MontoPagadoMI,
                                                  prm_SaldoActualMN,
                                                  prm_SaldoActualMI));
 }
示例#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, string prm_fecIngresoInicio, string 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> lstCajaRegistro = new List<CajaRegistroAux>();
        //    try
        //    {
        //        using (_CajaBancosDataContext SQLDC = new _CajaBancosDataContext(conexion))
        //        {
        //            var resul = SQLDC.omgc_S_CajaRegistro(pcodEmpresa, prm_fecIngresoInicio, prm_fecIngresoFinal,
        //                                                  prm_codDocumReg, prm_codRegistroDestinoComp,
        //                                                  prm_codPersonaEntidad, prm_codEmpleado,
        //                                                  prm_codRegistroMoneda, prm_codParteDiario,
        //                                                  prm_codFormaDePago, prm_indConciliado);
        //            foreach (var item in resul)
        //            {
        //                lstCajaRegistro.Add(new CajaRegistroAux()
        //                {
        //                    numItem = item.numItem,
        //                    codDocumReg = item.codDocumReg,
        //                    codEmpresa= item.codEmpresa.HasValue? item.codEmpresa.Value:0,
        //                    codEmpresaRUC = item.codPersonaEmpre,
        //                    codPuntoDeVenta = item.codPuntoDeVenta,
        //                    codDocumento = item.codDocumento,
        //                    numDocumento = item.numDocumento,
        //                    codEmpleado = item.codEmpleado,
        //                    codParteDiario = item.codParteDiario,
        //                    codFormaDePago = item.codFormaDePago.HasValue ? item.codFormaDePago.Value : 0,
        //                    fecIngreso = item.fecIngreso,
        //                    codRegistroMoneda = item.codRegistroMoneda,
        //                    monImporteRecibido = item.monImporteRecibido == null ? 0 : item.monImporteRecibido.Value,
        //                    monImportePagado = item.monImportePagado == null ? 0 : item.monImportePagado.Value,
        //                    monImportePagadoEx = item.monImportePagadoEx == null ? 0 : item.monImportePagadoEx.Value,
        //                    monImporteVuelto = item.monImporteVuelto == null ? 0 : item.monImporteVuelto.Value,
        //                    monTCambioVTA = item.monTCambioVTA,
        //                    monTCambioCMP = item.monTCambioCMP,
        //                    gloObservacion = item.gloObservacion,
        //                    indConciliado = item.indConciliado,
        //                    segUsuarioCrea = item.segUsuarioCrea,
        //                    segUsuarioEdita = item.segUsuarioEdita,
        //                    segFechaCrea = item.segFechaCrea,
        //                    segFechaEdita = item.segFechaEdita,
        //                    segMaquina = item.segMaquina,
        //                    auxcodEmpleadoNombre = item.auxcodEmpleadoNombre,
        //                    auxcodFormaDePagoNombre = item.auxcodFormaDePagoNombre,
        //                    auxcodRegistroMonedaNombre = item.auxcodRegistroMonedaNombre,
        //                    auxcodDocumentoNombre = item.auxcodDocumentoNombre,
        //                    auxcodPuntoDeVentaNombre = item.auxcodPuntoDeVentaNombre,
        //                    codDocumRegPagoCredito = item.codLetraDeCambio,
        //                    fecVencimientoLetra = item.fecVencimientoLetra,
        //                    auxnumLetraExterno = item.numLetraExterno
        //                });
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //    return lstCajaRegistro;
        //}

        #endregion

        #region /* Proceso de UPDATE*/
        /// <summary>
        /// ACTUALIZA el registro de una ENTIDAD de registro de Tipo CajaRegistro
        /// En la BASE de DATO la Tabla : [CajaBancos.CajaRegistro]
        /// <summary>
        /// <param name = >itemParteDiario</param>
        public bool UpdateCajaClose(CajaRegistroAux itemCajaRegistro)
        {
            int codigoRetorno = -1;

            try
            {
                using (_CajaBancosDataContext SQLDC = new _CajaBancosDataContext(conexion))
                {
                    codigoRetorno = SQLDC.omgc_U_CajaRegistro_Conciliar(
                        itemCajaRegistro.codEmpresaRUC,
                        itemCajaRegistro.codDocumReg,
                        itemCajaRegistro.codParteDiario,
                        itemCajaRegistro.indConciliado,
                        itemCajaRegistro.segUsuarioEdita
                        );
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(codigoRetorno == 0 ? true : false);
        }
示例#3
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);
        }