Example #1
0
        /// <summary>
        /// Almacena el registro de una ENTIDAD de registro de Tipo TiposdeCambio
        /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
        /// <summary>
        /// <param name="pTipoDeCambio"></param>
        /// <returns></returns>
        public int Insert(BETipoDeCambio pTipoDeCambio)
        {
            int?codigoRetorno = null;

            try
            {
                using (_GestionComercialDataContext SQLDC = new _GestionComercialDataContext(conexion))
                {
                    SQLDC.omgc_I_TipoDeCambio(
                        ref codigoRetorno,
                        pTipoDeCambio.codEmpresa,
                        pTipoDeCambio.FechaProceso,
                        pTipoDeCambio.CodigoArguMoneda,
                        pTipoDeCambio.CambioCompraGOB,
                        pTipoDeCambio.CambioVentasGOB,
                        pTipoDeCambio.CambioCompraPRL,
                        pTipoDeCambio.CambioVentasPRL,
                        pTipoDeCambio.Estado,
                        pTipoDeCambio.segUsuarioCrea,
                        pTipoDeCambio.segMaquinaCrea);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(codigoRetorno == null ? 0 : codigoRetorno.Value);
        }
Example #2
0
        /// <summary>
        /// Almacena el registro de una ENTIDAD de registro de Tipo TiposdeCambio
        /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
        /// <summary>
        /// <param name="pTipoDeCambio"></param>
        /// <returns></returns>
        public bool Update(BETipoDeCambio pTipoDeCambio)
        {
            int codigoRetorno = -1;

            try
            {
                using (_GestionComercialDataContext SQLDC = new _GestionComercialDataContext(conexion))
                {
                    SQLDC.omgc_U_TipoDeCambio(
                        pTipoDeCambio.codEmpresa,
                        pTipoDeCambio.codTipoCambio,
                        pTipoDeCambio.FechaProceso,
                        pTipoDeCambio.CodigoArguMoneda,
                        pTipoDeCambio.CambioCompraGOB,
                        pTipoDeCambio.CambioVentasGOB,
                        pTipoDeCambio.CambioCompraPRL,
                        pTipoDeCambio.CambioVentasPRL,
                        pTipoDeCambio.Estado,
                        pTipoDeCambio.segUsuarioEdita,
                        pTipoDeCambio.segMaquinaEdita);
                    codigoRetorno = 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(codigoRetorno == 0 ? true : false);
        }
Example #3
0
 /// <summary>
 /// Almacena el registro de una ENTIDAD de registro de Tipo TipoDeCambio
 /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
 /// <summary>
 /// <param name="pTipoDeCambio"></param>
 /// <returns></returns>
 public ReturnValor Insert(BETipoDeCambio pTipoDeCambio)
 {
     try
     {
         using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
         {
             BaseFiltroTipoCambio filtro = new BaseFiltroTipoCambio();
             filtro.codEmpresa   = pTipoDeCambio.codEmpresa;
             filtro.fecInicio    = HelpTime.ConvertYYYYMMDD(pTipoDeCambio.FechaProceso);
             filtro.codRegMoneda = pTipoDeCambio.CodigoArguMoneda;
             if (oTipoDeCambioData.Find(filtro) == null)
             {
                 oReturnValor.codRetorno = oTipoDeCambioData.Insert(pTipoDeCambio);
                 if (oReturnValor.codRetorno != 0)
                 {
                     oReturnValor.Exitosa = true;
                     oReturnValor.Message = HelpEventos.MessageEvento(HelpEventos.Process.NEW);
                     tx.Complete();
                 }
             }
             else
             {
                 oReturnValor.Message = HelpMessages.gc_TIPO_CAMBIO_Existe;
             }
         }
     }
     catch (Exception ex)
     {
         oReturnValor = HelpException.mTraerMensaje(ex, false,
                                                    this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                    pTipoDeCambio.segUsuarioCrea, pTipoDeCambio.codEmpresa.ToString());
     }
     return(oReturnValor);
 }
Example #4
0
        public BETipoDeCambio Find(int pcodEmpresa, int prm_codTipoCambio)
        {
            BETipoDeCambio tiposDeCambio = new BETipoDeCambio();

            try
            {
                tiposDeCambio = oTipoDeCambioData.Find(pcodEmpresa, prm_codTipoCambio);
            }
            catch (Exception ex)
            {
                var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name);
                throw new Exception(returnValor.Message);
            }
            return(tiposDeCambio);
        }
Example #5
0
        /// <summary>
        /// Retorna una ENTIDAD de registro de la Entidad GestionComercial.TiposdeCambio
        /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
        /// <summary>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public BETipoDeCambio Find(BaseFiltroTipoCambio filtro)
        {
            BETipoDeCambio tiposDeCambio = new BETipoDeCambio();

            try
            {
                filtro.fecInicio = HelpTime.ConvertYYYYMMDD(filtro.fecInicioDate);
                tiposDeCambio    = oTipoDeCambioData.Find(filtro);
            }
            catch (Exception ex)
            {
                var returnValor = HelpException.mTraerMensaje(ex, false,
                                                              this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                              filtro.segUsuarioActual, filtro.codEmpresa.ToString());
                throw new Exception(returnValor.Message);
            }
            return(tiposDeCambio);
        }
Example #6
0
        public BETipoDeCambio Find(BaseFiltroTipoCambio filtro)
        {
            BETipoDeCambio objTipoDeCambio = null;

            try
            {
                using (_GestionComercialDataContext SQLDC = new _GestionComercialDataContext(conexion))
                {
                    var resul = SQLDC.omgc_S_TipoDeCambio(filtro.codEmpresa, null, filtro.fecInicio
                                                          , filtro.fecInicio
                                                          , filtro.codRegMoneda, null);
                    foreach (var item in resul)
                    {
                        objTipoDeCambio = new BETipoDeCambio()
                        {
                            codEmpresa       = filtro.codEmpresa,
                            codTipoCambio    = item.codTipoCambio,
                            FechaProceso     = item.FechaProceso,
                            CodigoArguMoneda = item.CodigoArguMoneda,
                            CambioCompraGOB  = item.CambioCompraGOB,
                            CambioVentasGOB  = item.CambioVentasGOB,
                            CambioCompraPRL  = item.CambioCompraPRL,
                            CambioVentasPRL  = item.CambioVentasPRL,
                            Estado           = item.Estado,
                            segUsuarioCrea   = item.SegUsuarioCrea,
                            segUsuarioEdita  = item.SegUsuarioEdita,
                            segFechaCrea     = item.SegFechaCrea,
                            segFechaEdita    = item.SegFechaEdita,
                            segMaquinaEdita  = item.SegMaquina,
                        };
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(objTipoDeCambio);
        }
Example #7
0
 /// <summary>
 /// Almacena el registro de una ENTIDAD de registro de Tipo TiposdeCambio
 /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
 /// <summary>
 /// <param name="pTipoDeCambio"></param>
 /// <returns></returns>
 public ReturnValor Update(BETipoDeCambio pTipoDeCambio)
 {
     try
     {
         using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
         {
             oReturnValor.Exitosa = oTipoDeCambioData.Update(pTipoDeCambio);
             if (oReturnValor.Exitosa)
             {
                 oReturnValor.Message = HelpEventos.MessageEvento(HelpEventos.Process.EDIT);
                 tx.Complete();
             }
         }
     }
     catch (Exception ex)
     {
         oReturnValor = HelpException.mTraerMensaje(ex, false,
                                                    this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                    pTipoDeCambio.segUsuarioEdita, pTipoDeCambio.codEmpresa.ToString());
     }
     return(oReturnValor);
 }
Example #8
0
        public List <BEListaDePrecioDetalle> ListDesdeStock(BaseFiltro filtro) //, string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_EsParaVentas, string prm_CodigoLista, string prm_UsuarioLogin)
        {
            List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>();
            List <BEProducto>             lstProducto             = new List <BEProducto>();
            List <BEProducto>             lstProductoDep          = new List <BEProducto>();
            List <BEProductoPrecio>       lstProductoPrecio       = new List <BEProductoPrecio>();
            BETipoDeCambio itemTiposDeCambio = new BETipoDeCambio();

            try
            {
                ProductoLogic      productoLogic       = new ProductoLogic();
                ProductoPrecioData oProductoPrecioData = new ProductoPrecioData();
                TipoDeCambioLogic  oTiposdeCambioLogic = new TipoDeCambioLogic();
                lstProducto = productoLogic.List(new BaseFiltroAlmacen
                {
                    codPerEmpresa       = filtro.codPerEmpresa,
                    codDeposito         = string.Empty,
                    codProductoRefer    = string.Empty,
                    codProducto         = null,
                    desNombre           = string.Empty,
                    desComercial        = string.Empty,
                    codRegMarca         = string.Empty,
                    codRegTipo          = string.Empty,
                    indDestinoCompra    = true,
                    indDestinaVenta     = true,
                    codRegCentroProducc = string.Empty,
                    codRegCategoria     = string.Empty,
                    codRegUnidadMedida  = string.Empty,
                    indEstado           = true,
                    desPalabraClave     = string.Empty,
                    indTodos            = true
                });
                itemTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltro
                {
                    fecInicioDate = DateTime.Now,
                    codRegMoneda  = ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt)
                });
                foreach (BEProducto xProducto in lstProducto)
                {
                    if (xProducto.EsListaPrecio)
                    {
                        BEProducto productoNew = new BEProducto();
                        filtro.codProducto = xProducto.codProducto;
                        BaseFiltroAlmacen filtroAlmacen = new BaseFiltroAlmacen
                        {
                            codProductoRefer = filtro.codProductoRefer,
                            codProducto      = filtro.codProducto.Value
                        };
                        productoNew = productoLogic.Find(filtroAlmacen);
                        productoNew.itemProductoPrecio.codProducto          = xProducto.codProducto;
                        productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion;
                        lstProductoPrecio.Add(productoNew.itemProductoPrecio);
                    }
                }
                filtro.codProducto = null;
                foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio)
                {
                    BEListaDePrecioDetalle itemlistaDePrecioDetalle = new BEListaDePrecioDetalle
                    {
                        CodigoArguMoneda     = filtro.codRegMoneda,
                        codProducto          = itemproductoPrecio.codProducto,
                        CodigoProducto       = itemproductoPrecio.CodigoProducto,
                        Estado               = itemproductoPrecio.Estado,
                        segFechaEdita        = DateTime.Now,
                        segUsuarioEdita      = filtro.segUsuarioEdita,
                        CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre,
                        CodigoLista          = filtro.codListaPrecio,
                        segUsuarioCrea       = filtro.segUsuarioEdita,
                        segFechaCrea         = DateTime.Now,
                        CodigoPersonaEmpre   = filtro.codPerEmpresa,
                        CodigoPuntoVenta     = filtro.codPuntoVenta,
                    };
                    decimal PRECIO_A_TOMAR = 0;
                    if (filtro.indParaVenta.Value)
                    {
                        PRECIO_A_TOMAR = itemproductoPrecio.ValorVenta;
                    }
                    else
                    {
                        PRECIO_A_TOMAR = itemproductoPrecio.ValorCosto;
                    }

                    if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                    {
                        itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR;
                    }
                    else
                    {
                        if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaNac))
                        {
                            if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                            {
                                itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR;
                            }
                            else
                            {
                                itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR * itemTiposDeCambio.CambioVentasPRL, 2);
                            }
                        }
                        if (filtro.codRegMoneda == ConfigCROM.AppConfig(ConfigTool.DEFAULT_MonedaInt))
                        {
                            if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                            {
                                itemlistaDePrecioDetalle.PrecioUnitario = PRECIO_A_TOMAR;
                            }
                            else
                            {
                                itemlistaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(PRECIO_A_TOMAR / itemTiposDeCambio.CambioVentasPRL, 2);
                            }
                        }
                    }
                    lstListaDePrecioDetalle.Add(itemlistaDePrecioDetalle);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lstListaDePrecioDetalle);
        }
        /// <summary>
        /// Almacena el registro de una ENTIDAD de registro de Tipo TiposdeCambio
        /// En la BASE de DATO la Tabla : [GestionComercial.TiposdeCambio]
        /// <summary>
        /// <param name="objTipoDeCambio"></param>
        /// <returns></returns>
        public ReturnValor Update(BETipoDeCambio objTipoDeCambio)
        {
            ReturnValor objReturnValor = new TipoDeCambioLogic().Update(objTipoDeCambio);

            return(objReturnValor);
        }
Example #10
0
        public ReturnValor Insert(BETipoDeCambio objTipoDeCambio)
        {
            ReturnValor intReturnValor = new TipoDeCambioLogic().Insert(objTipoDeCambio);

            return(intReturnValor);
        }
Example #11
0
        private BEComprobanteEmision GenerarTicketDeVenta(int pcodEmpresa,
                                                          MovimientoAux pitem,
                                                          int pcodPersonaEmpleado,
                                                          string pcodEmpresaRUC,
                                                          string pUserActual,
                                                          string pcodPlanilla,
                                                          ref BEDocumento pTicketRef,
                                                          ref int pcodDocumentoSerie)
        {
            DocumentoLogic    oDocumentoLogic       = new DocumentoLogic();
            PersonasLogic     oPersonasLogic        = new PersonasLogic();
            ImpuestoLogic     oTiposDeImpuestoLogic = new ImpuestoLogic();
            TarifaLogic       oTarifaLogic          = new TarifaLogic();
            TipoDeCambioLogic oTiposdeCambioLogic   = new TipoDeCambioLogic();

            BEImpuesto     miImpuestoVTA   = new BEImpuesto();
            BEDocumento    miTicket        = new BEDocumento();
            BEPersona      miPersona       = new BEPersona();
            TarifaAux      miTarifa        = new TarifaAux();
            BETipoDeCambio miTiposDeCambio = new BETipoDeCambio();

            miTicket = oDocumentoLogic.Find(ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(),
                                            pcodEmpresaRUC,
                                            pcodEmpresa,
                                            pUserActual);
            pTicketRef = miTicket;

            miPersona = oPersonasLogic.Find(pcodEmpresa,
                                            pitem.codPersonaCliente,
                                            pUserActual);

            miImpuestoVTA = oTiposDeImpuestoLogic.Find(pcodEmpresa,
                                                       ConfigurationManager.AppSettings["DEFAULT_Impuesto_Ventas"].ToString(),
                                                       pUserActual);
            miTarifa        = oTarifaLogic.Find(pitem.codTarifa);
            miTiposDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio
            {
                codEmpresa    = pcodEmpresa,
                fecInicioDate = DateTime.Now,
                codRegMoneda  = ConfigurationManager.AppSettings["DEFAULT_MonedaInt"].ToString()
            });

            string p_NroComprobante = HelpDocumentos.Tipos.TCK.ToString() +
                                      NumerodeComprobante(oDocumentoLogic,
                                                          pcodEmpresa,
                                                          pitem.codPersonaEmpresa,
                                                          miTicket.CodigoComprobante,
                                                          pitem.codPuntoDeVenta,
                                                          pcodPlanilla,
                                                          pitem.segUsuarioCrea,
                                                          ref pcodDocumentoSerie);

            BEComprobanteEmision miDocumentoTicket = new BEComprobanteEmision
            {
                CodigoArguEstadoDocu      = miTicket.CodigoArguEstEMIDefault,
                CodigoArguMoneda          = ConfigurationManager.AppSettings["DEFAULT_MonedaNac"].ToString(),
                CodigoArguTipoDeOperacion = ConfigurationManager.AppSettings["DEFAULT_Movim_Venta"].ToString(),
                CodigoArguTipoDomicil     = ((int)TipoDomicilio.FISCAL_PRINCIPAL).ToString(), // ConfigCROM.AppConfig(ConfigTool.DEFAULT_Atributo_DomicFiscal),
                CodigoArguUbigeo          = ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_Ubigeo),
                //. ConfigurationManager.AppSettings["DEFAULT_Ubigeo"].ToString(),
                CodigoComprobante     = ConfigurationManager.AppSettings["DEFAULT_Doc_Ticket"].ToString(),
                CodigoArguDestinoComp = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES,
                CodigoComprobanteFact = miTicket.CodigoComprobante,
                codEmpleado           = pcodPersonaEmpleado,
                CodigoPersonaEmpre    = pitem.codPersonaEmpresa,
                CodigoPersonaEntidad  = pitem.codPersonaCliente,
                codEmpleadoVendedor   = pcodPersonaEmpleado,
                CodigoPuntoVenta      = pitem.codPuntoDeVenta,
                codCondicionVenta     = Convert.ToInt32(ConfigCROM.AppConfig(pcodEmpresa, ConfigTool.DEFAULT_CondicionVenta)),
                //.ConfigurationManager.AppSettings["DEFAULT_CondicionVenta"].ToString(),
                DocEsFacturable        = miTicket.EsComprobanteFiscal,
                EntidadDireccion       = "No exige el tipo de DOC",
                EntidadDireccionUbigeo = "LIMA",
                EntidadNumeroRUC       = "9999",
                EntidadRazonSocial     = miPersona.RazonSocial,
                Estado             = true,
                FechaDeEmision     = DateTime.Now,
                FechaDeEntrega     = DateTime.Now,
                FechaDeCancelacion = DateTime.Now,
                FechaDeProceso     = DateTime.Now,
                FechaDeVencimiento = DateTime.Now,

                Nota01             = "Ticket gen. automático",
                NumeroComprobante  = p_NroComprobante, // NumerodeComprobante(oComprobantesLogic, miTicket.CodigoComprobante, item.codPersonaEmpresa, item.codPuntoDeVenta, item.segUsuarioCrea),
                Observaciones      = pitem.gloObservacion,
                SegUsuarioCrea     = pitem.segUsuarioCrea,
                SegUsuarioEdita    = pitem.segUsuarioCrea,
                ValorIGV           = miImpuestoVTA.Porcentaje,
                ValorTipoCambioCMP = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioCompraPRL,
                ValorTipoCambioVTA = miTiposDeCambio.CodigoArguMoneda == null ? 2 : miTiposDeCambio.CambioVentasPRL,
            };

            ProductoLogic oProductoLogic = new ProductoLogic();
            BEProducto    miProducto     = new BEProducto();

            miProducto = oProductoLogic.Find(new BaseFiltroAlmacen
            {
                codEmpresaRUC = pitem.codPersonaEmpresa,
                codPuntoVenta = pitem.codPuntoDeVenta,
                codProducto   = miTarifa.codProducto
            });

            miDocumentoTicket.listaComprobanteEmisionDetalle.Add(new BEComprobanteEmisionDetalle
            {
                Cantidad               = 1,
                CantiDecimales         = 4,
                CodigoArguEstadoDocu   = miTicket.CodigoArguEstEMIDefault,
                CodigoArguDestinoComp  = WebConstants.DEFAULT_DOCUM_DESTINADO_CLIENTES,
                CodigoArguTipoProducto = ConfigurationManager.AppSettings["DEFAULT_ProducTerminado"].ToString(),
                CodigoArguUnidadMed    = ConfigurationManager.AppSettings["DEFAULT_UnidadMedida"].ToString(),
                CodigoComprobante      = miTicket.CodigoComprobante,
                NumeroComprobante      = miDocumentoTicket.NumeroComprobante,
                CodigoItemDetalle      = "001",
                //codEmpresa = item.codPersonaEmpresa,
                codEmpleadoVendedor = pcodPersonaEmpleado,
                CodigoProducto      = miTarifa.codiProducto,
                codProducto         = miTarifa.codProducto,
                Descripcion         = miProducto.Descripcion,
                Estado           = true,
                CodigoPuntoVenta = pitem.codPuntoDeVenta,
                EsVerificarStock = false,
                FechaDeEmision   = miDocumentoTicket.FechaDeEmision,
                IncluyeIGV       = miImpuestoVTA.DiscriminaIGV,
                PesoTotal        = 0,
                SegUsuarioCrea   = pitem.segUsuarioCrea,
                SegUsuarioEdita  = pitem.segUsuarioCrea,
                UnitPrecioBruto  = pitem.monMontoPagado.Value,
            });
            CalcularDatosDelPrecioDeVenta(miImpuestoVTA, pitem, miDocumentoTicket.listaComprobanteEmisionDetalle[0]);
            CalcularTotalDocumento(ref miDocumentoTicket, miImpuestoVTA);

            return(miDocumentoTicket);
        }
Example #12
0
        public List <BEListaDePrecioDetalle> ListDesdeStockCompras(BaseFiltro filtro) // string prm_CodigoPersonaEmpre, string prm_CodigoPuntoVenta, string prm_codDeposito, string prm_CodigoArguMoneda, bool prm_ParaCompras, bool prm_ParaVentas, string prm_CodigoLista, string prm_UsuarioLogin)
        {
            List <BEListaDePrecioDetalle> lstListaDePrecioDetalle = new List <BEListaDePrecioDetalle>();
            List <DTOProductoResponse>    lstProducto             = new List <DTOProductoResponse>();
            List <BEProducto>             lstProductoDep          = new List <BEProducto>();
            List <BEProductoPrecio>       lstProductoPrecio       = new List <BEProductoPrecio>();
            BETipoDeCambio tipoDeCambio = new BETipoDeCambio();

            try
            {
                ProductoLogic      oProductoLogic      = new ProductoLogic();
                ProductoPrecioData oProductoPrecioData = new ProductoPrecioData();
                TipoDeCambioLogic  oTiposdeCambioLogic = new TipoDeCambioLogic();
                lstProducto = oProductoLogic.List(new BaseFiltroProducto
                {
                    codEmpresaRUC       = filtro.codEmpresaRUC,
                    codDeposito         = string.Empty,
                    codProductoRefer    = string.Empty,
                    desNombre           = string.Empty,
                    desComercial        = string.Empty,
                    codMarca            = null,
                    codRegTipo          = string.Empty,
                    indDestinoCompra    = true,
                    indDestinaVenta     = true,
                    codRegCentroProducc = string.Empty,
                    codRegCategoria     = string.Empty,
                    codRegUnidadMedida  = string.Empty,
                    indEstado           = true,
                    desPalabraClave     = string.Empty,
                    indTodos            = true
                });

                tipoDeCambio = oTiposdeCambioLogic.Find(new BaseFiltroTipoCambio
                {
                    codEmpresa    = filtro.codEmpresa,
                    fecInicioDate = DateTime.Now,
                    codRegMoneda  = ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt)
                });

                foreach (DTOProductoResponse xProducto in lstProducto)
                {
                    if (xProducto.EsListaPrecio)
                    {
                        BEProducto productoNew = new BEProducto();
                        productoNew = oProductoLogic.Find(new BaseFiltroAlmacen
                        {
                            codEmpresa  = filtro.codEmpresa,
                            codProducto = xProducto.codProducto
                        });

                        productoNew.itemProductoPrecio.CodigoProductoNombre = productoNew.Descripcion;
                        lstProductoPrecio.Add(productoNew.itemProductoPrecio);
                    }
                }
                filtro.codProducto = null;
                foreach (BEProductoPrecio itemproductoPrecio in lstProductoPrecio)
                {
                    BEListaDePrecioDetalle xlstListaDePrecioDetalle = new BEListaDePrecioDetalle
                    {
                        CodigoArguMoneda     = filtro.codRegMoneda,
                        codProducto          = itemproductoPrecio.codProducto,
                        CodigoProducto       = itemproductoPrecio.CodigoProducto,
                        Estado               = itemproductoPrecio.Estado,
                        segFechaEdita        = DateTime.Now,
                        segUsuarioEdita      = filtro.segUsuarioEdita,
                        CodigoProductoNombre = itemproductoPrecio.CodigoProductoNombre,
                        CodigoLista          = filtro.codListaPrecio,
                        segUsuarioCrea       = filtro.segUsuarioEdita,
                        segFechaCrea         = DateTime.Now,
                        CodigoPersonaEmpre   = filtro.codEmpresaRUC,
                        CodigoPuntoVenta     = filtro.codPuntoVenta,
                    };
                    if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                    {
                        xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta;
                    }
                    else
                    {
                        if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaNac))
                        {
                            if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                            {
                                xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta;
                            }
                            else
                            {
                                xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta * tipoDeCambio.CambioVentasPRL, 2);
                            }
                        }
                        if (filtro.codRegMoneda == ConfigCROM.AppConfig(filtro.codEmpresa, ConfigTool.DEFAULT_MonedaInt))
                        {
                            if (itemproductoPrecio.CodigoArguMoneda == filtro.codRegMoneda)
                            {
                                xlstListaDePrecioDetalle.PrecioUnitario = itemproductoPrecio.ValorVenta;
                            }
                            else
                            {
                                xlstListaDePrecioDetalle.PrecioUnitario = Helper.DecimalRound(itemproductoPrecio.ValorVenta / tipoDeCambio.CambioVentasPRL, 2);
                            }
                        }
                    }
                    lstListaDePrecioDetalle.Add(xlstListaDePrecioDetalle);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(lstListaDePrecioDetalle);
        }