public OOB.Resultado PrecioProducto_Actualizar(OOB.LibInventario.Precio.Editar.Ficha ficha)
        {
            var rt = new OOB.Resultado();

            var fichaDTO = new DtoLibInventario.Precio.Editar.Ficha()
            {
                autoProducto  = ficha.autoProducto,
                autoUsuario   = ficha.autoUsuario,
                codigoUsuario = ficha.codigoUsuario,
                estacion      = ficha.estacion,
                nombreUsuario = ficha.nombreUsuario,
            };

            var historia = new List <DtoLibInventario.Precio.Editar.FichaHistorica>();

            foreach (var it in ficha.historia)
            {
                var nr = new DtoLibInventario.Precio.Editar.FichaHistorica()
                {
                    nota      = it.nota,
                    precio    = it.precio,
                    precio_id = it.precio_id,
                    contenido = it.contenido,
                    empaque   = it.empaque,
                };
                historia.Add(nr);
            }
            fichaDTO.historia = historia;

            var precio_1 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.precio_1.autoEmp,
                contenido          = ficha.precio_1.contenido,
                precioNeto         = ficha.precio_1.precioNeto,
                precio_divisa_Neto = ficha.precio_1.precio_divisa_Neto,
                utilidad           = ficha.precio_1.utilidad,
            };

            fichaDTO.precio_1 = precio_1;
            var precio_2 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.precio_2.autoEmp,
                contenido          = ficha.precio_2.contenido,
                precioNeto         = ficha.precio_2.precioNeto,
                precio_divisa_Neto = ficha.precio_2.precio_divisa_Neto,
                utilidad           = ficha.precio_2.utilidad,
            };

            fichaDTO.precio_2 = precio_2;
            var precio_3 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.precio_3.autoEmp,
                contenido          = ficha.precio_3.contenido,
                precioNeto         = ficha.precio_3.precioNeto,
                precio_divisa_Neto = ficha.precio_3.precio_divisa_Neto,
                utilidad           = ficha.precio_3.utilidad,
            };

            fichaDTO.precio_3 = precio_3;
            var precio_4 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.precio_4.autoEmp,
                contenido          = ficha.precio_4.contenido,
                precioNeto         = ficha.precio_4.precioNeto,
                precio_divisa_Neto = ficha.precio_4.precio_divisa_Neto,
                utilidad           = ficha.precio_4.utilidad,
            };

            fichaDTO.precio_4 = precio_4;
            var precio_5 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.precio_5.autoEmp,
                contenido          = ficha.precio_5.contenido,
                precioNeto         = ficha.precio_5.precioNeto,
                precio_divisa_Neto = ficha.precio_5.precio_divisa_Neto,
                utilidad           = ficha.precio_5.utilidad,
            };

            fichaDTO.precio_5 = precio_5;
            //
            var may_1 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.may_1.autoEmp,
                contenido          = ficha.may_1.contenido,
                precioNeto         = ficha.may_1.precioNeto,
                precio_divisa_Neto = ficha.may_1.precio_divisa_Neto,
                utilidad           = ficha.may_1.utilidad,
            };

            fichaDTO.may_1 = may_1;
            //
            var may_2 = new DtoLibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = ficha.may_2.autoEmp,
                contenido          = ficha.may_2.contenido,
                precioNeto         = ficha.may_2.precioNeto,
                precio_divisa_Neto = ficha.may_2.precio_divisa_Neto,
                utilidad           = ficha.may_2.utilidad,
            };

            fichaDTO.may_2 = may_2;

            var r01 = MyData.PrecioProducto_Actualizar(fichaDTO);

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

            return(rt);
        }
        private bool Guardar()
        {
            var rt = true;

            if (!precio_1.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO VENTA ( 1 ) INCORRECTO");
                return(false);
            }
            if (!precio_2.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO VENTA ( 2 ) INCORRECTO");
                return(false);
            }
            if (!precio_3.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO VENTA ( 3 ) INCORRECTO");
                return(false);
            }
            if (!precio_4.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO VENTA ( 4 ) INCORRECTO");
                return(false);
            }
            if (!precio_5.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO VENTA ( 5 ) INCORRECTO");
                return(false);
            }
            //
            if (!May_1.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO MAYOR ( 1 ) INCORRECTO");
                return(false);
            }
            if (!May_2.IsOk())
            {
                Helpers.Msg.Error("[ UTILIDAD/CONTENIDO EMPAQUE ] PRECIO MAYOR ( 2 ) INCORRECTO");
                return(false);
            }

            var ficha = new OOB.LibInventario.Precio.Editar.Ficha()
            {
                autoProducto  = autoPrd,
                autoUsuario   = Sistema.UsuarioP.autoUsu,
                codigoUsuario = Sistema.UsuarioP.codigoUsu,
                estacion      = Environment.MachineName,
                nombreUsuario = Sistema.UsuarioP.nombreUsu,
            };

            var p1 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = precio_1.autoEmpaque,
                contenido          = precio_1.contenido,
                precio_divisa_Neto = precio_1.PrecioFull_Divisa,
                precioNeto         = precio_1.PrecioNeto_BsF,
                utilidad           = precio_1.utilidad,
            };

            ficha.precio_1 = p1;
            var h1 = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = precio_1.PrecioNeto_BsF,
                precio_id = "1",
                empaque   = "UNIDAD",
                contenido = precio_1.contenido,
            };

            var p2 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = precio_2.autoEmpaque,
                contenido          = precio_2.contenido,
                precio_divisa_Neto = precio_2.PrecioFull_Divisa,
                precioNeto         = precio_2.PrecioNeto_BsF,
                utilidad           = precio_2.utilidad,
            };

            ficha.precio_2 = p2;
            var h2 = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = precio_2.PrecioNeto_BsF,
                precio_id = "2",
                empaque   = "UNIDAD",
                contenido = precio_2.contenido,
            };

            var p3 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = precio_3.autoEmpaque,
                contenido          = precio_3.contenido,
                precio_divisa_Neto = precio_3.PrecioFull_Divisa,
                precioNeto         = precio_3.PrecioNeto_BsF,
                utilidad           = precio_3.utilidad,
            };

            ficha.precio_3 = p3;
            var h3 = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = precio_3.PrecioNeto_BsF,
                precio_id = "3",
                empaque   = "UNIDAD",
                contenido = precio_3.contenido,
            };

            var p4 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = precio_4.autoEmpaque,
                contenido          = precio_4.contenido,
                precio_divisa_Neto = precio_4.PrecioFull_Divisa,
                precioNeto         = precio_4.PrecioNeto_BsF,
                utilidad           = precio_4.utilidad,
            };

            ficha.precio_4 = p4;
            var h4 = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = precio_4.PrecioNeto_BsF,
                precio_id = "4",
                empaque   = "UNIDAD",
                contenido = precio_4.contenido,
            };

            var p5 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = precio_5.autoEmpaque,
                contenido          = precio_5.contenido,
                precio_divisa_Neto = precio_5.PrecioFull_Divisa,
                precioNeto         = precio_5.PrecioNeto_BsF,
                utilidad           = precio_5.utilidad,
            };

            ficha.precio_5 = p5;
            var h5 = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = precio_5.PrecioNeto_BsF,
                precio_id = "PTO",
                empaque   = "UNIDAD",
                contenido = precio_5.contenido,
            };

            //
            var m1 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = _may_1.autoEmpaque,
                contenido          = _may_1.contenido,
                precio_divisa_Neto = _may_1.PrecioFull_Divisa,
                precioNeto         = _may_1.PrecioNeto_BsF,
                utilidad           = _may_1.utilidad,
            };

            ficha.may_1 = m1;
            var entEmpMay_1 = _empaqueMay_1.FirstOrDefault(f => f.auto == _may_1.autoEmpaque);
            var hM1         = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = _may_1.PrecioNeto_BsF,
                precio_id = "MY1",
                empaque   = entEmpMay_1 == null ? "" : entEmpMay_1.nombre,
                contenido = _may_1.contenido,
            };

            var m2 = new OOB.LibInventario.Precio.Editar.FichaPrecio()
            {
                autoEmp            = _may_2.autoEmpaque,
                contenido          = _may_2.contenido,
                precio_divisa_Neto = _may_2.PrecioFull_Divisa,
                precioNeto         = _may_2.PrecioNeto_BsF,
                utilidad           = _may_2.utilidad,
            };

            ficha.may_2 = m2;
            var entEmpMay_2 = _empaqueMay_2.FirstOrDefault(f => f.auto == _may_2.autoEmpaque);
            var hM2         = new OOB.LibInventario.Precio.Editar.FichaHistorica()
            {
                nota      = "",
                precio    = _may_2.PrecioNeto_BsF,
                precio_id = "MY2",
                empaque   = entEmpMay_2 == null ? "" : entEmpMay_2.nombre,
                contenido = _may_2.contenido,
            };

            var historia = new List <OOB.LibInventario.Precio.Editar.FichaHistorica>();

            if (VerificaCambio(precio_1, 1))
            {
                historia.Add(h1);
            }
            if (VerificaCambio(precio_2, 2))
            {
                historia.Add(h2);
            }
            if (VerificaCambio(precio_3, 3))
            {
                historia.Add(h3);
            }
            if (VerificaCambio(precio_4, 4))
            {
                historia.Add(h4);
            }
            if (VerificaCambio(precio_5, 5))
            {
                historia.Add(h5);
            }
            //
            if (VerificaCambio(_may_1, 6))
            {
                historia.Add(hM1);
            }
            if (VerificaCambio(_may_2, 7))
            {
                historia.Add(hM2);
            }

            ficha.historia = historia;
            var r01 = Sistema.MyData.PrecioProducto_Actualizar(ficha);

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

            return(rt);
        }