private void Reconversion()
        {
            _actualizacionIsOk = false;
            var ficha = new OOB.LibSistema.ReconversionMonetaria.Actualizar.Ficha()
            {
                codUsuario        = Sistema.UsuarioP.codigo,
                equipoEstacion    = Sistema.EstacionEquipo,
                factorReconverion = _factorReconversion,
                idUsuario         = Sistema.UsuarioP.auto,
                tasaDivisa        = Math.Round(_tasaDivisa / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                tasaDivisaPos     = Math.Round(_tasaRecepcionPos / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                usuario           = Sistema.UsuarioP.nombre,
                Producto          = _data.Producto.Select(s =>
                {
                    var prd = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemPrd()
                    {
                        autoId       = s.autoId,
                        nombre       = s.nombre,
                        costo        = s.costo > 0 ? Math.Round(s.costo / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoProm    = s.costoProm > 0 ? Math.Round(s.costoProm / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoPrv     = s.costoPrv > 0 ? Math.Round(s.costoPrv / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoUnd     = s.costoUnd > 0 ? Math.Round(s.costoUnd / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoPromUnd = s.costoPromUnd > 0 ? Math.Round(s.costoPromUnd / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoPrvUnd  = s.costoPrvUnd > 0 ? Math.Round(s.costoPrvUnd / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        precio1      = s.precio1 > 0 ? Math.Round(s.precio1 / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        precio2      = s.precio2 > 0 ? Math.Round(s.precio2 / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        precio3      = s.precio3 > 0 ? Math.Round(s.precio3 / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        precio4      = s.precio4 > 0 ? Math.Round(s.precio4 / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        precio5      = s.precio5 > 0 ? Math.Round(s.precio5 / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                    };
                    return(prd);
                }).ToList(),
                Proveedor = _data.Proveedor.Select(s =>
                {
                    var prv = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemProv()
                    {
                        autoId     = s.autoId,
                        nombre     = s.nombre,
                        anticipos  = s.anticipos > 0 ? Math.Round(s.anticipos / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        debitos    = s.debitos > 0 ? Math.Round(s.debitos / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        creditos   = s.creditos > 0 ? Math.Round(s.creditos / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        saldo      = s.saldo > 0 ? Math.Round(s.saldo / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        disponible = s.disponible > 0 ? Math.Round(s.disponible / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                    };
                    return(prv);
                }).ToList(),
                SaldoPorPagar = _data.SaldoPorPagar.Select(s =>
                {
                    var cxp = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemSaldoPorPagar()
                    {
                        autoDoc   = s.autoDoc,
                        docNumero = s.docNumero,
                        importe   = s.importe > 0 ? Math.Round(s.importe / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        acumulado = s.acumulado > 0 ? Math.Round(s.acumulado / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        resta     = s.resta > 0 ? Math.Round(s.resta / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                    };
                    return(cxp);
                }).ToList(),
                HistoricoCosto = _data.Producto.Select(s =>
                {
                    var cost = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistCosto()
                    {
                        autoPrd        = s.autoId,
                        costo          = s.costo > 0 ? Math.Round(s.costo / _factorReconversion, 2, MidpointRounding.AwayFromZero) : 0,
                        costoDivisa    = s.costoDivisa,
                        documento      = "",
                        estacionEquipo = Sistema.EstacionEquipo,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        serie          = "MAN",
                        tasaDivisa     = Math.Round(_tasaDivisa / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                        usuario        = Sistema.UsuarioP.nombre,
                    };
                    return(cost);
                }).ToList(),
            };
            var lista = new List <OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio>();

            foreach (var rg in _data.Producto)
            {
                if (rg.precio1 > 0)
                {
                    var nr = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = rg.autoId,
                        estacionEquipo = Sistema.EstacionEquipo,
                        idPrecio       = "1",
                        usuario        = Sistema.UsuarioP.nombre,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        precio         = Math.Round(rg.precio1 / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                    };
                    lista.Add(nr);
                }
                if (rg.precio2 > 0)
                {
                    var nr = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = rg.autoId,
                        estacionEquipo = Sistema.EstacionEquipo,
                        idPrecio       = "2",
                        usuario        = Sistema.UsuarioP.nombre,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        precio         = Math.Round(rg.precio2 / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                    };
                    lista.Add(nr);
                }
                if (rg.precio3 > 0)
                {
                    var nr = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = rg.autoId,
                        estacionEquipo = Sistema.EstacionEquipo,
                        idPrecio       = "3",
                        usuario        = Sistema.UsuarioP.nombre,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        precio         = Math.Round(rg.precio3 / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                    };
                    lista.Add(nr);
                }
                if (rg.precio4 > 0)
                {
                    var nr = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = rg.autoId,
                        estacionEquipo = Sistema.EstacionEquipo,
                        idPrecio       = "4",
                        usuario        = Sistema.UsuarioP.nombre,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        precio         = Math.Round(rg.precio4 / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                    };
                    lista.Add(nr);
                }
                if (rg.precio5 > 0)
                {
                    var nr = new OOB.LibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = rg.autoId,
                        estacionEquipo = Sistema.EstacionEquipo,
                        idPrecio       = "PTO",
                        usuario        = Sistema.UsuarioP.nombre,
                        nota           = "RECONVERSION MONETARIA AL 01/10/2021",
                        precio         = Math.Round(rg.precio5 / _factorReconversion, 2, MidpointRounding.AwayFromZero),
                    };
                    lista.Add(nr);
                }
            }
            ficha.HistoricoPrecio = lista;

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

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }
            _actualizacionIsOk = true;
            Helpers.Msg.OK("PROCESO REALIZADO DE MANERA EXITOSA....... !!!");
        }
示例#2
0
        public OOB.Resultado ReconversionMonetaria_Actualizar(OOB.LibSistema.ReconversionMonetaria.Actualizar.Ficha ficha)
        {
            var rt = new OOB.Resultado();

            var fichaDTO = new DtoLibSistema.ReconversionMonetaria.Actualizar.Ficha()
            {
                codUsuario        = ficha.codUsuario,
                equipoEstacion    = ficha.equipoEstacion,
                factorReconverion = ficha.factorReconverion,
                idUsuario         = ficha.idUsuario,
                tasaDivisa        = ficha.tasaDivisa,
                tasaDivisaPos     = ficha.tasaDivisaPos,
                usuario           = ficha.usuario,
                Producto          = ficha.Producto.Select(s =>
                {
                    var prd = new DtoLibSistema.ReconversionMonetaria.Actualizar.ItemPrd()
                    {
                        autoId       = s.autoId,
                        nombre       = s.nombre,
                        costo        = s.costo,
                        costoProm    = s.costoProm,
                        costoPrv     = s.costoPrv,
                        costoUnd     = s.costoUnd,
                        costoPromUnd = s.costoPromUnd,
                        costoPrvUnd  = s.costoPrvUnd,
                        precio1      = s.precio1,
                        precio2      = s.precio2,
                        precio3      = s.precio3,
                        precio4      = s.precio4,
                        precio5      = s.precio5,
                    };
                    return(prd);
                }).ToList(),
                Proveedor = ficha.Proveedor.Select(s =>
                {
                    var prv = new DtoLibSistema.ReconversionMonetaria.Actualizar.ItemProv()
                    {
                        autoId     = s.autoId,
                        nombre     = s.nombre,
                        anticipos  = s.anticipos,
                        debitos    = s.debitos,
                        creditos   = s.creditos,
                        saldo      = s.saldo,
                        disponible = s.disponible,
                    };
                    return(prv);
                }).ToList(),
                SaldoPorPagar = ficha.SaldoPorPagar.Select(s =>
                {
                    var cxp = new DtoLibSistema.ReconversionMonetaria.Actualizar.ItemSaldoPorPagar()
                    {
                        autoDoc   = s.autoDoc,
                        docNumero = s.docNumero,
                        importe   = s.importe,
                        acumulado = s.acumulado,
                        resta     = s.resta,
                    };
                    return(cxp);
                }).ToList(),
                HistoricoCosto = ficha.HistoricoCosto.Select(s =>
                {
                    var cost = new DtoLibSistema.ReconversionMonetaria.Actualizar.ItemHistCosto()
                    {
                        autoPrd        = s.autoPrd,
                        costo          = s.costo,
                        costoDivisa    = s.costoDivisa,
                        documento      = s.documento,
                        estacionEquipo = s.estacionEquipo,
                        nota           = s.nota,
                        serie          = s.serie,
                        tasaDivisa     = s.tasaDivisa,
                        usuario        = s.usuario,
                    };
                    return(cost);
                }).ToList(),
                HistoricoPrecio = ficha.HistoricoPrecio.Select(s =>
                {
                    var prec = new DtoLibSistema.ReconversionMonetaria.Actualizar.ItemHistPrecio()
                    {
                        autoPrd        = s.autoPrd,
                        estacionEquipo = s.estacionEquipo,
                        idPrecio       = s.idPrecio,
                        nota           = s.nota,
                        precio         = s.precio,
                        usuario        = s.usuario,
                    };
                    return(prec);
                }).ToList(),
            };

            var r01 = MyData.ReconversionMonetaria_Actualizar(fichaDTO);

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

            return(rt);
        }