private Precio NuevoPrecio(decimal _precioNeto)
        {
            var rt = new Precio();

            var pn = _precioNeto;
            var pf = 0.0m;

            if (_preferenciaPrecio == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Full)
            {
                pf = pn + (pn * (s.tasaIva / 100));
                switch (_redondeoPrecio)
                {
                case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Unidad:
                    pf = Helpers.MetodosExtension.RoundUnidad((int)pf);
                    break;

                case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Decena:
                    pf = Helpers.MetodosExtension.RoundDecena((int)pf);
                    break;
                }
                pn = Math.Round(pf / (1 + (s.tasaIva / 100)), 2, MidpointRounding.AwayFromZero);
            }
            else
            {
                switch (_redondeoPrecio)
                {
                case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Unidad:
                    pn = Helpers.MetodosExtension.RoundUnidad((int)pn);
                    break;

                case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Decena:
                    pn = Helpers.MetodosExtension.RoundDecena((int)pn);
                    break;
                }
                pf = pn + (pn * (s.tasaIva / 100));
            }
            var pdf = Math.Round(pf / _tasaCambio, 2, MidpointRounding.AwayFromZero);

            rt.pneto = pn;
            rt.pdf   = pdf;

            return(rt);
        }
        public Item(OOB.LibInventario.Configuracion.MetodoCalculoUtilidad.CapturarData.Ficha s, decimal _tasaCambio, CalculaPrecio.metodoCalculoUtilidad _metodoCalculoUt, OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio _preferenciaPrecio, OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta _redondeoPrecio)
        {
            this.s                  = s;
            this._tasaCambio        = _tasaCambio;
            this._metodoCalculoUt   = _metodoCalculoUt;
            this._preferenciaPrecio = _preferenciaPrecio;
            this._redondeoPrecio    = _redondeoPrecio;

            if (_metodoCalculoUt == CalculaPrecio.metodoCalculoUtilidad.Lineal)
            {
                if (s.precio1_IsHabilitado)
                {
                    precio_1 = CostoLineal(costoEmpaque_1, s.utilidad_1);
                }
                else
                {
                    precio_1 = new Precio();
                }

                if (s.precio2_IsHabilitado)
                {
                    precio_2 = CostoLineal(costoEmpaque_2, s.utilidad_2);
                }
                else
                {
                    precio_2 = new Precio();
                }

                if (s.precio3_IsHabilitado)
                {
                    precio_3 = CostoLineal(costoEmpaque_3, s.utilidad_3);
                }
                else
                {
                    precio_3 = new Precio();
                }

                if (s.precio4_IsHabilitado)
                {
                    precio_4 = CostoLineal(costoEmpaque_4, s.utilidad_4);
                }
                else
                {
                    precio_4 = new Precio();
                }

                if (s.precio5_IsHabilitado)
                {
                    precio_5 = CostoLineal(costoEmpaque_5, s.utilidad_5);
                }
                else
                {
                    precio_5 = new Precio();
                }
            }
            else
            {
                if (s.precio1_IsHabilitado)
                {
                    precio_1 = CostoFinanciero(costoEmpaque_1, s.utilidad_1);
                }
                else
                {
                    precio_1 = new Precio();
                }

                if (s.precio2_IsHabilitado)
                {
                    precio_2 = CostoFinanciero(costoEmpaque_2, s.utilidad_2);
                }
                else
                {
                    precio_2 = new Precio();
                }

                if (s.precio3_IsHabilitado)
                {
                    precio_3 = CostoFinanciero(costoEmpaque_3, s.utilidad_3);
                }
                else
                {
                    precio_3 = new Precio();
                }

                if (s.precio4_IsHabilitado)
                {
                    precio_4 = CostoFinanciero(costoEmpaque_4, s.utilidad_4);
                }
                else
                {
                    precio_4 = new Precio();
                }

                if (s.precio5_IsHabilitado)
                {
                    precio_5 = CostoFinanciero(costoEmpaque_5, s.utilidad_5);
                }
                else
                {
                    precio_5 = new Precio();
                }
            }
        }