Ejemplo n.º 1
0
        public async void searchProduct()
        {
            if (string.IsNullOrEmpty(this.CCodBuscar))
            {
                this.ArticulosBarras02 = new ObservableCollection <ArticuloBarras>(this.articulosBarras02);
            }
            else
            {
                string cBusca = this.CCodBuscar.ToString();

                int nMultiplica = 1;
                int nPosicion   = cBusca.IndexOf('*');
                if (nPosicion > 0)
                {
                    nMultiplica = Int32.Parse(cBusca.Substring(0, nPosicion));

                    string cBusca02 = cBusca.Substring(nPosicion + 1);
                    cBusca = cBusca02;
                }

                var item = this.ArticulosBarras02.FirstOrDefault(p => p.codigobarra.Trim() == cBusca.Trim());

                if (item == null)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Código de producto introducido es incorrecto.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }
                this.nCodigo = item.codigo;
                this.nFactor = item.factor * nMultiplica;
                var item02 = this.PedidoShow.FirstOrDefault(p => p.codigo == this.nCodigo);

                if (item02 == null)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error buscando producto.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }

                if (item02.cantd == item02.cantdrec)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error, Pedido completo.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }


                if ((this.nFactor > item02.cantd) || this.nFactor > (item02.cantd - item02.cantdrec))
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error, cantidad scaneada es superior a la requerida.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }

                int nReg = PedidoShow.IndexOf(item02);
                //int nCode = this.PedidoShow[nReg].codigo;

                PedidoGet _item02 = new PedidoGet();
                _item02.num       = this.PedidoShow[nReg].num;
                _item02.codigo    = this.nCodigo;
                _item02.cajasrec  = this.PedidoShow[nReg].cajasrec + (item.cajas * nMultiplica);
                _item02.cajasc    = this.PedidoShow[nReg].cajasc;
                _item02.cantd     = this.PedidoShow[nReg].cantd;
                _item02.cantdrec  = this.PedidoShow[nReg].cantdrec + this.nFactor;
                _item02.descrip   = this.PedidoShow[nReg].descrip;
                _item02.idsector  = this.PedidoShow[nReg].idsector;
                _item02.precio    = this.PedidoShow[nReg].precio;
                _item02.username  = this.PedidoShow[nReg].username;
                _item02.stock     = this.PedidoShow[nReg].stock - 1;
                _item02.bultosrec = this.PedidoShow[nReg].bultosrec + (item.bultos * nMultiplica);
                _item02.idusuario = this.PedidoShow[nReg].idusuario;
                if (_item02.cantd == _item02.cantdrec)
                {
                    this.nItem           = this.nItem + 1;
                    _item02.isCompleted  = true;
                    this.IsAceptEnabled  = true;
                    this.IsSearchEnabled = false;
                    this.Completado      = true;
                    DateTime dFecha = DateTime.Now.ToLocalTime();
                    string   cFec   = dFecha.ToString();
                    // actualizar ColaArmadoPedidos yjs 140319
                    this.itemColaPedido = new ColaArmadoPedidos
                    {
                        cantidad    = _item02.cantd,
                        idArticulo  = _item02.codigo,
                        idPedido    = _item02.num,
                        idSector    = _item02.idsector,
                        idUsuario   = _item02.idusuario,
                        numItem     = this.nItem,
                        pickeado    = _item02.cantdrec,
                        status      = 1,
                        fechaStatus = dFecha
                    };
                }

                this.Ncantdrec = _item02.cantdrec;
                this.Ncantddif = _item02.cantd - _item02.cantdrec;

                var copy = new ObservableCollection <PedidoGet>(this.PedidoShow);
                foreach (var _item in copy)
                {
                    if (_item.codigo == this.nCodigo)
                    {
                        this.PedidoShow.Remove(_item);
                        break;
                    }
                }
                this.PedidoShow.Add(_item02);
                this.PedidoShow = new ObservableCollection <PedidoGet>(this.PedidoShow.OrderBy(b => b.codigo));
                this.PedidoList = new List <PedidoGet>(this.PedidoShow); // lista pata local db yjs 08012019
                // await this.dataServices.DeleteAll();
                // await this.dataServices.Insert(this.PedidoList);
                this.CCodBuscar = "";
                //this.PedidoShow
            }
        }
Ejemplo n.º 2
0
        public async void searchProduct()
        {
            if (string.IsNullOrEmpty(this.CCodBuscar))
            {
                this.ArticulosBarras = new ObservableCollection <ArticuloBarras>(this.articulosBarras);
            }
            else
            {
                string cBusca = this.CCodBuscar.ToString();

                int nMultiplica = 1;
                int nPosicion   = cBusca.IndexOf('*');
                if (nPosicion > 0)
                {
                    nMultiplica = Int32.Parse(cBusca.Substring(0, nPosicion));

                    string cBusca02 = cBusca.Substring(nPosicion + 1);
                    cBusca = cBusca02;
                }

                var item = this.ArticulosBarras.FirstOrDefault(p => p.codigobarra == cBusca);

                if (item == null)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Producto no está en este pedido.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }
                this.nCodigo = item.codigo;
                this.nFactor = item.factor * nMultiplica;
                var item02 = this.PedidoShow.FirstOrDefault(p => p.codigo == this.nCodigo);

                if (item02 == null)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error buscando producto.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }

                if (item02.cantd == item02.cantdrec)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error, Pedido completo.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }


                if ((this.nFactor > item02.cantd) || this.nFactor > (item02.cantdrec + item02.cantd))
                {
                    await Application.Current.MainPage.DisplayAlert(
                        "Error, cantidad scaneada es superior a la requerida.",
                        "",
                        "Accept");

                    this.CCodBuscar = "";
                    return;
                }

                //if (item.stock <= 0)
                //{
                //    await Application.Current.MainPage.DisplayAlert(
                //        "Producto no tiene stock suficiente en sistema.",
                //        "",
                //        "Accept");
                //    return;
                //}

                int nReg = PedidoShow.IndexOf(item02);
                //int nCode = this.PedidoShow[nReg].codigo;

                PedidoGet _item02 = new PedidoGet();
                _item02.num       = this.PedidoShow[nReg].num;
                _item02.codigo    = this.nCodigo;
                _item02.cajasrec  = this.PedidoShow[nReg].cajasrec + (item.cajas * nMultiplica);
                _item02.cajasc    = this.PedidoShow[nReg].cajasc;
                _item02.cantd     = this.PedidoShow[nReg].cantd;
                _item02.cantdrec  = this.PedidoShow[nReg].cantdrec + this.nFactor;
                _item02.descrip   = this.PedidoShow[nReg].descrip;
                _item02.idsector  = this.PedidoShow[nReg].idsector;
                _item02.precio    = this.PedidoShow[nReg].precio;
                _item02.username  = this.PedidoShow[nReg].username;
                _item02.stock     = this.PedidoShow[nReg].stock - 1;
                _item02.bultosrec = this.PedidoShow[nReg].bultosrec + (item.bultos * nMultiplica);
                _item02.idusuario = this.PedidoShow[nReg].idusuario;
                if (_item02.cantd == _item02.cantdrec)
                {
                    _item02.isCompleted = true;
                }

                var copy = new ObservableCollection <PedidoGet>(this.PedidoShow);
                foreach (var _item in copy)
                {
                    if (_item.codigo == this.nCodigo)
                    {
                        this.PedidoShow.Remove(_item);
                        break;
                    }
                }
                this.PedidoShow.Add(_item02);
                this.PedidoShow = new ObservableCollection <PedidoGet>(this.PedidoShow.OrderBy(b => b.codigo));
                this.PedidoList = new List <PedidoGet>(this.PedidoShow); // lista pata local db yjs 08012019
                await this.dataServices.DeleteAll();

                await this.dataServices.Insert(this.PedidoList);

                this.CCodBuscar = "";
                //this.PedidoShow
            }
        }
Ejemplo n.º 3
0
        private async void llenaVacio()
        {
            var item02 = this.PedidoShow.FirstOrDefault(p => p.codigo == this.Ncodigo);

            if (item02 == null)
            {
                await Application.Current.MainPage.DisplayAlert(
                    "Error buscando producto.",
                    "",
                    "Accept");

                this.CCodBuscar = "";
                return;
            }

            int       nReg    = PedidoShow.IndexOf(item02);
            PedidoGet _item02 = new PedidoGet();

            _item02.num          = this.PedidoShow[nReg].num;
            _item02.codigo       = this.Ncodigo;
            _item02.cajasrec     = this.PedidoShow[nReg].cajasrec;
            _item02.cajasc       = this.PedidoShow[nReg].cajasc;
            _item02.cantd        = this.PedidoShow[nReg].cantd;
            _item02.cantdrec     = this.PedidoShow[nReg].cantdrec;
            _item02.descrip      = this.PedidoShow[nReg].descrip;
            _item02.idsector     = this.PedidoShow[nReg].idsector;
            _item02.precio       = this.PedidoShow[nReg].precio;
            _item02.username     = this.PedidoShow[nReg].username;
            _item02.stock        = this.PedidoShow[nReg].stock - 1;
            _item02.bultosrec    = this.PedidoShow[nReg].bultosrec;
            _item02.idusuario    = this.PedidoShow[nReg].idusuario;
            this.nItem           = this.nItem + 1;
            _item02.isCompleted  = true;
            this.IsAceptEnabled  = true;
            this.IsSearchEnabled = false;
            this.Completado      = true;
            // actualizar ColaArmadoPedidos yjs 180319
            DateTime dFecha = DateTime.Now;

            this.itemColaPedido = new ColaArmadoPedidos
            {
                cantidad    = _item02.cantdrec,
                idArticulo  = _item02.codigo,
                idPedido    = _item02.num,
                idSector    = _item02.idsector,
                idUsuario   = _item02.idusuario,
                numItem     = this.nItem,
                pickeado    = _item02.cantdrec,
                status      = 1,
                fechaStatus = dFecha
            };

            //  actualizar como procesado en PedidosShow yjs 190319

            var copy = new ObservableCollection <PedidoGet>(this.PedidoShow);

            foreach (var _item in copy)
            {
                if (_item.codigo == this.Ncodigo)
                {
                    this.PedidoShow.Remove(_item);
                    break;
                }
            }
            this.PedidoShow.Add(_item02);
            return;
        }