public OOB.ResultadoEntidad <OOB.LibInventario.Precio.PrecioCosto.Ficha> PrecioCosto_GetFicha(string autoPrd)
        {
            var rt = new OOB.ResultadoEntidad <OOB.LibInventario.Precio.PrecioCosto.Ficha>();

            var r01 = MyData.PrecioCosto_GetFicha(autoPrd);

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

            var nr = new OOB.LibInventario.Precio.PrecioCosto.Ficha();
            var e  = r01.Entidad;

            if (e != null)
            {
                nr.codigo        = e.codigo;
                nr.nombre        = e.nombre;
                nr.descripcion   = e.descripcion;
                nr.nombreTasaIva = e.nombreTasaIva;
                nr.tasaIva       = e.tasaIva;

                nr.admDivisaEstatus    = e.admDivisa;
                nr.fechaUltimaActCosto = e.fechaUltActualizacion;
                nr.contempCompra       = e.contempCompra;
                nr.empCompra           = e.empCompra;
                nr.costoDivisa         = e.costoDivisa;
                nr.costo = e.costo;

                nr.etiqueta1         = e.etiqueta1;
                nr.etiqueta2         = e.etiqueta2;
                nr.etiqueta3         = e.etiqueta3;
                nr.etiqueta4         = e.etiqueta4;
                nr.etiqueta5         = e.etiqueta5;
                nr.contenido1        = e.contenido1;
                nr.contenido2        = e.contenido2;
                nr.contenido3        = e.contenido3;
                nr.contenido4        = e.contenido4;
                nr.contenido5        = e.contenido5;
                nr.autoEmp1          = e.autoEmp1;
                nr.autoEmp2          = e.autoEmp2;
                nr.autoEmp3          = e.autoEmp3;
                nr.autoEmp4          = e.autoEmp4;
                nr.autoEmp5          = e.autoEmp5;
                nr.precioNeto1       = e.precioNeto1;
                nr.precioNeto2       = e.precioNeto2;
                nr.precioNeto3       = e.precioNeto3;
                nr.precioNeto4       = e.precioNeto4;
                nr.precioNeto5       = e.precioNeto5;
                nr.precioFullDivisa1 = e.precioFullDivisa1;
                nr.precioFullDivisa2 = e.precioFullDivisa2;
                nr.precioFullDivisa3 = e.precioFullDivisa3;
                nr.precioFullDivisa4 = e.precioFullDivisa4;
                nr.precioFullDivisa5 = e.precioFullDivisa5;
                nr.utilidad1         = e.utilidad1;
                nr.utilidad2         = e.utilidad2;
                nr.utilidad3         = e.utilidad3;
                nr.utilidad4         = e.utilidad4;
                nr.utilidad5         = e.utilidad5;
                // MAYOR
                nr.autoEmpMay1          = e.autoEmpMay1;
                nr.autoEmpMay2          = e.autoEmpMay2;
                nr.autoEmpMay3          = e.autoEmpMay3;
                nr.contenidoMay1        = e.contenidoMay1;
                nr.contenidoMay2        = e.contenidoMay2;
                nr.contenidoMay3        = e.contenidoMay3;
                nr.utilidadMay1         = e.utilidadMay1;
                nr.utilidadMay2         = e.utilidadMay2;
                nr.utilidadMay3         = e.utilidadMay3;
                nr.precioNetoMay1       = e.precioNetoMay1;
                nr.precioNetoMay2       = e.precioNetoMay2;
                nr.precioNetoMay3       = e.precioNetoMay3;
                nr.precioFullDivisaMay1 = e.precioFullDivisaMay1;
                nr.precioFullDivisaMay2 = e.precioFullDivisaMay2;
                nr.precioFullDivisaMay3 = e.precioFullDivisaMay3;
            }
            rt.Entidad = nr;

            return(rt);
        }
        public bool CargarData()
        {
            var rt = true;

            var r01 = Sistema.MyData.PrecioCosto_GetFicha(autoPrd);

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

            var r02 = Sistema.MyData.EmpaqueMedida_GetLista();

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

            var r03 = Sistema.MyData.Configuracion_TasaCambioActual();

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

            var r04 = Sistema.MyData.Configuracion_MetodoCalculoUtilidad();

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

            var r05 = Sistema.MyData.Configuracion_ForzarRedondeoPrecioVenta();

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

            var r06 = Sistema.MyData.Configuracion_PreferenciaRegistroPrecio();

            if (r06.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r06.Mensaje);
                return(false);
            }
            prefRegistroPrecioIsNeto = (r06.Entidad == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Neto);

            //var r07 = Sistema.MyData.Configuracion_HabilitarPrecio_5_ParaVentaMayorPos();
            //if (r07.Result == OOB.Enumerados.EnumResult.isError)
            //{
            //    Helpers.Msg.Error(r07.Mensaje);
            //    return false;
            //}
            //_habilitarContenidoEmpaque5_ParaVentaMayor = r07.Entidad;
            _habilitarContenidoEmpaque5_ParaVentaMayor = false;


            //PREFERENCIA PRECIO
            var preferenciaPrecio = data.enumPreferenciaPrecio.Neto;

            if (r06.Entidad == OOB.LibInventario.Configuracion.Enumerados.EnumPreferenciaRegistroPrecio.Full)
            {
                preferenciaPrecio = data.enumPreferenciaPrecio.Full;
            }

            //REDONDEO
            var redondeo = data.enumModoRedondeo.SinRedondeo;

            switch (r05.Entidad)
            {
            case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Unidad:
                redondeo = data.enumModoRedondeo.Unidad;
                break;

            case OOB.LibInventario.Configuracion.Enumerados.EnumForzarRedondeoPrecioVenta.Decena:
                redondeo = data.enumModoRedondeo.Decena;
                break;
            }

            //TASA CAMBIO ACTUAL
            tasaCambioActual = r03.Entidad;

            //UTILIDAD METODO
            modoUtilidad = data.enumModo.Lineal;
            if (r04.Entidad == OOB.LibInventario.Configuracion.Enumerados.EnumMetodoCalculoUtilidad.Financiero)
            {
                modoUtilidad = data.enumModo.Financiero;
            }

            //FICHA PRODUCTO
            producto         = r01.Entidad.codigo + Environment.NewLine + r01.Entidad.descripcion;
            admDivisa        = r01.Entidad.admDivisa.ToString();
            tasaIva          = "EXENTO";
            fechaUltActCosto = r01.Entidad.fechaUltimaActCosto;
            costoUnd         = r01.Entidad.costoUnd;
            costoUndDivisa   = r01.Entidad.costoUndDivisa;

            if (r01.Entidad.tasaIva > 0)
            {
                tasaIva       = r01.Entidad.tasaIva.ToString("n2").Trim().PadLeft(5, '0') + "%";
                _tasaIvaValor = r01.Entidad.tasaIva;
            }

            var _modoDivisa = false;
            var _costoUnd   = r01.Entidad.costoUnd;
            var _p1         = r01.Entidad.precioNeto1;
            var _p2         = r01.Entidad.precioNeto2;
            var _p3         = r01.Entidad.precioNeto3;
            var _p4         = r01.Entidad.precioNeto4;
            var _p5         = r01.Entidad.precioNeto5;
            var _pMay1      = r01.Entidad.precioNetoMay1;
            var _pMay2      = r01.Entidad.precioNetoMay2;

            costoUnit = r01.Entidad.costoUnd.ToString("N2");
            if (r01.Entidad.admDivisa == OOB.LibInventario.Producto.Enumerados.EnumAdministradorPorDivisa.Si)
            {
                isModoActualDivisa = true;
                _p1         = r01.Entidad.precioFullDivisa1;
                _p2         = r01.Entidad.precioFullDivisa2;
                _p3         = r01.Entidad.precioFullDivisa3;
                _p4         = r01.Entidad.precioFullDivisa4;
                _p5         = r01.Entidad.precioFullDivisa5;
                _pMay1      = r01.Entidad.precioFullDivisaMay1;
                _pMay2      = r01.Entidad.precioFullDivisaMay2;
                _modoDivisa = true;
                _costoUnd   = r01.Entidad.costoUndDivisa;
                costoUnit   = r01.Entidad.costoUndDivisa.ToString("N2");
            }
            var _tasaIva = r01.Entidad.tasaIva;

            precio_1.setData(r01.Entidad.contenido1, _costoUnd, _tasaIva, r01.Entidad.utilidad1, _p1, modoUtilidad, r01.Entidad.etiqueta1, "0000000001", _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            precio_2.setData(r01.Entidad.contenido2, _costoUnd, _tasaIva, r01.Entidad.utilidad2, _p2, modoUtilidad, r01.Entidad.etiqueta2, "0000000001", _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            precio_3.setData(r01.Entidad.contenido3, _costoUnd, _tasaIva, r01.Entidad.utilidad3, _p3, modoUtilidad, r01.Entidad.etiqueta3, "0000000001", _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            precio_4.setData(r01.Entidad.contenido4, _costoUnd, _tasaIva, r01.Entidad.utilidad4, _p4, modoUtilidad, r01.Entidad.etiqueta4, "0000000001", _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            precio_5.setData(r01.Entidad.contenido5, _costoUnd, _tasaIva, r01.Entidad.utilidad5, _p5, modoUtilidad, r01.Entidad.etiqueta5, "0000000001", _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            _may_1.setData(r01.Entidad.contenidoMay1, _costoUnd, _tasaIva, r01.Entidad.utilidadMay1, _pMay1, modoUtilidad, "MAYOR 1", r01.Entidad.autoEmpMay1, _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);
            _may_2.setData(r01.Entidad.contenidoMay2, _costoUnd, _tasaIva, r01.Entidad.utilidadMay2, _pMay2, modoUtilidad, "MAYOR 2", r01.Entidad.autoEmpMay2, _modoDivisa, tasaCambioActual, redondeo, preferenciaPrecio, r01.Entidad.costoUndDivisa, r01.Entidad.costoUnd);

            //empaques
            empaque1.Clear();
            empaque1.AddRange(r02.Lista);
            sourceEmpaque1.CurrencyManager.Refresh();

            empaque2.Clear();
            empaque2.AddRange(r02.Lista);
            sourceEmpaque2.CurrencyManager.Refresh();

            empaque3.Clear();
            empaque3.AddRange(r02.Lista);
            sourceEmpaque3.CurrencyManager.Refresh();

            empaque4.Clear();
            empaque4.AddRange(r02.Lista);
            sourceEmpaque4.CurrencyManager.Refresh();

            empaque5.Clear();
            empaque5.AddRange(r02.Lista);
            sourceEmpaque5.CurrencyManager.Refresh();

            _empaqueMay_1.Clear();
            _empaqueMay_1.AddRange(r02.Lista);
            _sourceEmpaqueMay_1.CurrencyManager.Refresh();

            _empaqueMay_2.Clear();
            _empaqueMay_2.AddRange(r02.Lista);
            _sourceEmpaqueMay_2.CurrencyManager.Refresh();

            return(rt);
        }