示例#1
0
        private bool Guardar()
        {
            var rt = true;

            if (!miData.IsOk()) 
            {
                return false;
            }

            var _plu = miData.Plu;
            var _diasEmpaque = miData.DiasEmpaque;
            var _pesado = "1";
            if (!miData.EsPesado) 
            {
                _plu = "";
                _diasEmpaque = 0;
                _pesado = "0";
            }
            var _catalogo="0";
            if (miData.ActivarCatalogo)
                _catalogo = "1";

            var entImpuesto= impuesto.FirstOrDefault(f=>f.auto==miData.AutoImpuesto);

            var ficha = new OOB.LibInventario.Producto.Editar.Actualizar.Ficha()
            {
                auto = autoPrd,
                autoDepartamento = miData.AutoDepartamento,
                autoEmpCompra = miData.AutoEmpCompra,
                autoGrupo = miData.AutoGrupo,
                autoMarca = miData.AutoMarca,
                autoTasaImpuesto = miData.AutoImpuesto,
                codigo = miData.Codigo,
                contenidoCompra = miData.ContEmpProducto,
                descripcion = miData.Descripcion,
                modelo = miData.ModeloProducto,
                nombre = miData.NombreProducto,
                referencia = miData.ReferenciaProducto,
                abc = miData.Clasificacion,
                categoria = miData.Categoria,
                estatusDivisa = miData.Divisa,
                origen = miData.Origen,
                imagen = miData.Imagen,
                esPesado = _pesado,
                plu = _plu,
                diasEmpaque = _diasEmpaque,
                estatusCatalogo=_catalogo,
                tasaImpuesto= entImpuesto.tasa,
            };

            if (autoTasaActualPrd != miData.AutoImpuesto) 
            {
                var xr1 = Sistema.MyData.PrecioCosto_GetFicha(autoPrd);
                if (xr1.Result == OOB.Enumerados.EnumResult.isError) 
                {
                    Helpers.Msg.Error(xr1.Mensaje);
                    return false;
                }
                var xr2 = Sistema.MyData.Configuracion_TasaCambioActual();
                if (xr2.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(xr2.Mensaje);
                    return false;
                }
                var xr3 = Sistema.MyData.TasaImpuesto_GetLista();
                if (xr3.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(xr3.Mensaje);
                    return false;
                }
                var xr4 = Sistema.MyData.Configuracion_PreferenciaRegistroPrecio();
                if (xr4.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(xr4.Mensaje);
                    return false;
                }

                var xtasa = 0.0m;
                var tasa = xr3.Lista.FirstOrDefault(f => f.auto == miData.AutoImpuesto);
                if (tasa != null)
                    xtasa = tasa.tasa;
                var factor = xr2.Entidad;

                var p = new precio();
                if (miData.EsAdmDivisa)
                {
                    p.Calculo_AdmDivisa(factor, xtasa, xr1.Entidad.precioFullDivisa1, xr1.Entidad.precioNetoDivisa1, xr4.Entidad);
                    var precio1 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull =   p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_AdmDivisa(factor, xtasa, xr1.Entidad.precioFullDivisa2, xr1.Entidad.precioNetoDivisa2, xr4.Entidad);
                    var precio2 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_AdmDivisa(factor, xtasa, xr1.Entidad.precioFullDivisa3, xr1.Entidad.precioNetoDivisa3, xr4.Entidad);
                    var precio3 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_AdmDivisa(factor, xtasa, xr1.Entidad.precioFullDivisa4, xr1.Entidad.precioNetoDivisa4, xr4.Entidad);
                    var precio4 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_AdmDivisa(factor, xtasa, xr1.Entidad.precioFullDivisa5, xr1.Entidad.precioNetoDivisa5, xr4.Entidad);
                    var precio5 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    ficha.precio_1 = precio1;
                    ficha.precio_2 = precio2;
                    ficha.precio_3 = precio3;
                    ficha.precio_4 = precio4;
                    ficha.precio_5 = precio5;
                }
                else 
                {
                    p.Calculo_NoAdmDivisa(factor, xtasa, xr1.Entidad.precioFull1, xr1.Entidad.precioNeto1, xr4.Entidad);
                    var precio1 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_NoAdmDivisa(factor, xtasa, xr1.Entidad.precioFull2, xr1.Entidad.precioNeto2, xr4.Entidad);
                    var precio2 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_NoAdmDivisa(factor, xtasa, xr1.Entidad.precioFull3, xr1.Entidad.precioNeto3, xr4.Entidad);
                    var precio3 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_NoAdmDivisa(factor, xtasa, xr1.Entidad.precioFull4, xr1.Entidad.precioNeto4, xr4.Entidad);
                    var precio4 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    p.Calculo_NoAdmDivisa(factor, xtasa, xr1.Entidad.precioFull5, xr1.Entidad.precioNeto5, xr4.Entidad);
                    var precio5 = new OOB.LibInventario.Producto.Editar.Actualizar.FichaPrecio()
                    {
                        divisaFull = p.divisaFull,
                        neto = p.neto,
                    };
                    ficha.precio_1 = precio1;
                    ficha.precio_2 = precio2;
                    ficha.precio_3 = precio3;
                    ficha.precio_4 = precio4;
                    ficha.precio_5 = precio5;
                }
            }

            var codAlterno = new List<OOB.LibInventario.Producto.Editar.Actualizar.FichaCodigoAlterno>();
            foreach (var rg in _gestionCodAlterno.ListaCodigos)
            {
                codAlterno.Add(new OOB.LibInventario.Producto.Editar.Actualizar.FichaCodigoAlterno() { Codigo = rg.codigo });
            }
            ficha.codigosAlterno = codAlterno;

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

            _isAgregarEditarOk = true;
            Helpers.Msg.EditarOk();
            return rt;
        }
        public OOB.Resultado Producto_Editar_Actualizar(OOB.LibInventario.Producto.Editar.Actualizar.Ficha ficha)
        {
            var rt = new OOB.Resultado();

            var fichaDTO = new DtoLibInventario.Producto.Editar.Actualizar.Ficha()
            {
                auto             = ficha.auto,
                abc              = ficha.abc,
                autoDepartamento = ficha.autoDepartamento,
                autoEmpCompra    = ficha.autoEmpCompra,
                autoGrupo        = ficha.autoGrupo,
                autoMarca        = ficha.autoMarca,
                autoTasaImpuesto = ficha.autoTasaImpuesto,
                categoria        = ficha.categoria,
                codigo           = ficha.codigo,
                contenidoCompra  = ficha.contenidoCompra,
                descripcion      = ficha.descripcion,
                estatusDivisa    = ficha.estatusDivisa,
                modelo           = ficha.modelo,
                nombre           = ficha.nombre,
                origen           = ficha.origen,
                referencia       = ficha.referencia,
                imagen           = ficha.imagen,
                diasEmpaque      = ficha.diasEmpaque,
                esPesado         = ficha.esPesado,
                plu              = ficha.plu,
                estatusCatalogo  = ficha.estatusCatalogo,
                tasaImpuesto     = ficha.tasaImpuesto,
            };

            if (ficha.precio_1 != null)
            {
                fichaDTO.precio_1 = new DtoLibInventario.Producto.Editar.Actualizar.FichaPrecio()
                {
                    divisaFull = ficha.precio_1.divisaFull,
                    neto       = ficha.precio_1.neto,
                };
            }
            if (ficha.precio_2 != null)
            {
                fichaDTO.precio_2 = new DtoLibInventario.Producto.Editar.Actualizar.FichaPrecio()
                {
                    divisaFull = ficha.precio_2.divisaFull,
                    neto       = ficha.precio_2.neto,
                };
            }
            if (ficha.precio_3 != null)
            {
                fichaDTO.precio_3 = new DtoLibInventario.Producto.Editar.Actualizar.FichaPrecio()
                {
                    divisaFull = ficha.precio_3.divisaFull,
                    neto       = ficha.precio_3.neto,
                };
            }
            if (ficha.precio_4 != null)
            {
                fichaDTO.precio_4 = new DtoLibInventario.Producto.Editar.Actualizar.FichaPrecio()
                {
                    divisaFull = ficha.precio_4.divisaFull,
                    neto       = ficha.precio_4.neto,
                };
            }
            if (ficha.precio_5 != null)
            {
                fichaDTO.precio_5 = new DtoLibInventario.Producto.Editar.Actualizar.FichaPrecio()
                {
                    divisaFull = ficha.precio_5.divisaFull,
                    neto       = ficha.precio_5.neto,
                };
            }

            var codAlterno = new List <DtoLibInventario.Producto.Editar.Actualizar.FichaCodAlterno>();

            foreach (var rg in ficha.codigosAlterno)
            {
                codAlterno.Add(new DtoLibInventario.Producto.Editar.Actualizar.FichaCodAlterno()
                {
                    codigo = rg.Codigo
                });
            }
            fichaDTO.codigosAlterno = codAlterno;

            var r01 = MyData.Producto_Editar_Actualizar(fichaDTO);

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

            return(rt);
        }