private bool ProcesarCambios()
        {
            var rt = true;

            var ficha = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.Ficha()
            {
                autoUsuario    = Sistema.UsuarioP.auto,
                codigoUsuario  = Sistema.UsuarioP.codigo,
                EstacionEquipo = Environment.MachineName,
                nombreUsuario  = Sistema.UsuarioP.nombre,
                ValorDivisa    = _valorNuevo,
            };
            var lst  = new List <OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoPrecioDivisa>();
            var lst2 = new List <OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico>();
            var lst3 = new List <OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoSinDivisa>();

            foreach (var rg in _dataSinDivisa)
            {
                var nr = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoSinDivisa()
                {
                    autoPrd     = rg.AutoPrd,
                    costoDivisa = rg.CostoDivisa,
                    precioMonedaEnDivisaFull_1     = rg.precioFullMoneda_EnDivisa(1),
                    precioMonedaEnDivisaFull_2     = rg.precioFullMoneda_EnDivisa(2),
                    precioMonedaEnDivisaFull_3     = rg.precioFullMoneda_EnDivisa(3),
                    precioMonedaEnDivisaFull_4     = rg.precioFullMoneda_EnDivisa(4),
                    precioMonedaEnDivisaFull_5     = rg.precioFullMoneda_EnDivisa(5),
                    precioMonedaEnDivisaFull_May_1 = rg.precioFullMoneda_EnDivisa(6),
                    precioMonedaEnDivisaFull_May_2 = rg.precioFullMoneda_EnDivisa(7),
                };
                lst3.Add(nr);
            }
            ficha.productosCostoSinDivisa = lst3;

            foreach (var rg in _dataDivisa)
            {
                var nr = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoPrecioDivisa()
                {
                    autoPrd             = rg.AutoPrd,
                    costo               = rg.CostoNuevo,
                    costoDivisa         = rg.CostoDivisa,
                    costoImportacion    = rg.CostoImportacion,
                    costoImportacionUnd = rg.CostoImportacionUnd,
                    costoProveedor      = rg.CostoProveedor,
                    costoProveedorUnd   = rg.CostoProveedorUnd,
                    costoUnd            = rg.CostoNuevoUnd,
                    costoVario          = rg.CostoVarios,
                    costoVarioUnd       = rg.CostoVariosUnd,
                    documento           = "",
                    nota        = "",
                    precio_1    = rg.Precio_1,
                    precio_2    = rg.Precio_2,
                    precio_3    = rg.Precio_3,
                    precio_4    = rg.Precio_4,
                    precio_5    = rg.Precio_5,
                    precioMay_1 = rg.PrecioMay_1,
                    precioMay_2 = rg.PrecioMay_2,
                    serie       = "MAN",
                };
                lst.Add(nr);

                if (rg.Precio_1 > 0)
                {
                    var ph1 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "1",
                        precio   = rg.Precio_1,
                    };
                    lst2.Add(ph1);
                }

                if (rg.Precio_2 > 0)
                {
                    var ph2 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "2",
                        precio   = rg.Precio_2,
                    };
                    lst2.Add(ph2);
                }

                if (rg.Precio_3 > 0)
                {
                    var ph3 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "3",
                        precio   = rg.Precio_3,
                    };
                    lst2.Add(ph3);
                }

                if (rg.Precio_4 > 0)
                {
                    var ph4 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "4",
                        precio   = rg.Precio_4,
                    };
                    lst2.Add(ph4);
                }

                if (rg.Precio_5 > 0)
                {
                    var ph5 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "PTO",
                        precio   = rg.Precio_5,
                    };
                    lst2.Add(ph5);
                }

                if (rg.PrecioMay_1 > 0)
                {
                    var phM1 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "MY1",
                        precio   = rg.PrecioMay_1,
                    };
                    lst2.Add(phM1);
                }

                if (rg.PrecioMay_2 > 0)
                {
                    var phM2 = new OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                    {
                        autoPrd  = rg.AutoPrd,
                        nota     = "CAMBIO MASIVO",
                        idPrecio = "MY2",
                        precio   = rg.PrecioMay_2,
                    };
                    lst2.Add(phM2);
                }
            }
            ficha.productosCostoPrecioDivisa = lst;
            ficha.productosPrecioHistorico   = lst2;

            var r01 = Sistema.MyData.Configuracion_Actualizar_TasaDivisa_ActualizarData(ficha);

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return(false);
            }

            Helpers.Msg.EditarOk();

            return(rt);
        }
        public OOB.Resultado Configuracion_Actualizar_TasaDivisa_ActualizarData(OOB.LibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.Ficha ficha)
        {
            var rt = new OOB.Resultado();

            var fichaDTO = new DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.Ficha()
            {
                autoUsuario    = ficha.autoUsuario,
                codigoUsuario  = ficha.codigoUsuario,
                EstacionEquipo = ficha.EstacionEquipo,
                nombreUsuario  = ficha.nombreUsuario,
                ValorDivisa    = ficha.ValorDivisa,
            };

            var lstProdCostoSinDivisa = new List <DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoSinDivisa>();

            foreach (var rg in ficha.productosCostoSinDivisa)
            {
                var nr = new DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoSinDivisa()
                {
                    autoPrd     = rg.autoPrd,
                    costoDivisa = rg.costoDivisa,
                    precioMonedaEnDivisaFull_1     = rg.precioMonedaEnDivisaFull_1,
                    precioMonedaEnDivisaFull_2     = rg.precioMonedaEnDivisaFull_2,
                    precioMonedaEnDivisaFull_3     = rg.precioMonedaEnDivisaFull_3,
                    precioMonedaEnDivisaFull_4     = rg.precioMonedaEnDivisaFull_4,
                    precioMonedaEnDivisaFull_5     = rg.precioMonedaEnDivisaFull_5,
                    precioMonedaEnDivisaFull_May_1 = rg.precioMonedaEnDivisaFull_May_1,
                    precioMonedaEnDivisaFull_May_2 = rg.precioMonedaEnDivisaFull_May_2,
                };
                lstProdCostoSinDivisa.Add(nr);
            }
            fichaDTO.productosCostoSinDivisa = lstProdCostoSinDivisa;

            var lstProdDivisaCostoPrecio = new List <DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoPrecioDivisa>();

            foreach (var rg in ficha.productosCostoPrecioDivisa)
            {
                var nr = new DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoCostoPrecioDivisa()
                {
                    autoPrd             = rg.autoPrd,
                    costo               = rg.costo,
                    costoDivisa         = rg.costoDivisa,
                    costoImportacion    = rg.costoImportacion,
                    costoImportacionUnd = rg.costoImportacionUnd,
                    costoProveedor      = rg.costoProveedor,
                    costoProveedorUnd   = rg.costoProveedorUnd,
                    costoUnd            = rg.costoUnd,
                    costoVario          = rg.costoVario,
                    costoVarioUnd       = rg.costoVarioUnd,
                    documento           = rg.documento,
                    nota        = rg.nota,
                    precio_1    = rg.precio_1,
                    precio_2    = rg.precio_2,
                    precio_3    = rg.precio_3,
                    precio_4    = rg.precio_4,
                    precio_5    = rg.precio_5,
                    precioMay_1 = rg.precioMay_1,
                    precioMay_2 = rg.precioMay_2,
                    serie       = rg.serie,
                };
                lstProdDivisaCostoPrecio.Add(nr);
            }
            fichaDTO.productosCostoPrecioDivisa = lstProdDivisaCostoPrecio;

            var lstProdPrecioHistorico = new List <DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico>();

            foreach (var rg in ficha.productosPrecioHistorico)
            {
                var nr = new DtoLibSistema.Configuracion.ActualizarTasaDivisa.ActualizarData.FichaProductoPrecioHistorico()
                {
                    autoPrd  = rg.autoPrd,
                    idPrecio = rg.idPrecio,
                    nota     = rg.nota,
                    precio   = rg.precio,
                };
                lstProdPrecioHistorico.Add(nr);
            }
            fichaDTO.productosPrecioHistorico = lstProdPrecioHistorico;

            var r01 = MyData.Configuracion_Actualizar_TasaDivisa_ActualizarData(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            return(rt);
        }