Esempio n. 1
0
        private async void llenarColaPedido()
        {
            //            var copy = new ObservableCollection<ArticuloBarras>(this.ArticulosBarras);
            // verificar si no se ha llenado la cola antes yjs 250319

            //var oExisteCola = this.apiService.GetExisteCola(this.num);

            //var a = oExisteCola.Result ;

            ObservableCollection <ColaArmadoPedidos> allColaArmado = new ObservableCollection <ColaArmadoPedidos>();
            var      nCuenta = 0;
            DateTime dFecha  = DateTime.Now;

            foreach (var _item in this.PedidoShow)
            {
                nCuenta++;
                ColaArmadoPedidos itemCola = new ColaArmadoPedidos
                {
                    idColaArmadoPedidos = 0,
                    idUsuario           = _item.idusuario,
                    idPedido            = _item.num,
                    numItem             = nCuenta,
                    idArticulo          = _item.codigo,
                    idSector            = _item.idsector,
                    cantidad            = _item.cantd,
                    status       = 1,
                    fechaStatus  = dFecha,
                    pickeado     = 0,
                    cantidadPick = 0
                };
                allColaArmado.Add(itemCola);
            }
            var listaCola = (IEnumerable <ColaArmadoPedidos>)allColaArmado;

            var proceso = await this.apiService.AddAllColaArmadoAsync(listaCola);

            if (!proceso.IsSuccess)
            {
                await Application.Current.MainPage.DisplayAlert(
                    "Error",
                    proceso.Message,
                    "Accept");

                await Application.Current.MainPage.Navigation.PopModalAsync();
            }
            return;
        }
Esempio n. 2
0
        public async Task <Response> AddColaArmadoAsync(ColaArmadoPedidos itemPedido)
        {
            try
            {
                //                string url = "http://192.168.10.111:82/api/ColaArmadoApi";
                string url = "http://35.153.240.83:11444/PedidosApi/api/ColaArmadoApi/";

                //POR AQUI
                //url = "http://localhost:56052/api/ColaArmadoApi/";

                var uri     = new Uri(string.Format(url, itemPedido));
                var request = JsonConvert.SerializeObject(itemPedido);

                var content = new StringContent(request, Encoding.UTF8, "application/json");

                HttpResponseMessage response = null;
                response = await client.PostAsync(uri, content);

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = "Error al agregar pedido a la cola de armado",
                    });
                }

                return(new Response
                {
                    IsSuccess = true,
                    Message = "Cola Armado pedido actualizado con éxito.",
                });
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert(
                    "Error al agregar pedido a la cola de armado",
                    ex.ToString(),
                    "Accept");

                return(null);
            }
        }
Esempio n. 3
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
            }
        }
Esempio n. 4
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;
        }
Esempio n. 5
0
        private async void Procesar()
        {
            if (!this.Completado)
            {
                await Application.Current.MainPage.DisplayAlert(
                    "",
                    "Artículo no ha sido pickeado por completo.",
                    "Accept");

                return;
            }

            if (this.itemColaPedido == null || (this.itemColaPedido.idArticulo == 0 && this.itemColaPedido.pickeado == 0))   // stock incompleto
            {
                this.llenaVacio();
            }
            var proceso = await this.apiService.UpdateColaArmadoAsync(this.itemColaPedido); // MARCAR COMO PROCESADO, ACTUALIZAR EL PRODUCTO DE LA COLA YJS140319/260319

            if (!proceso.IsSuccess)
            {
                await Application.Current.MainPage.DisplayAlert(
                    "Error",
                    proceso.Message,
                    "Accept");
            }
            this.itemColaPedido = new ColaArmadoPedidos(); // vaciar la cola yjs 200319

            var itemnext = this.PedidoShow.FirstOrDefault(p => p.isCompleted == false);

            if (itemnext == null)
            {
                var pedidosListViewModel = PedidosListViewModel.GetInstance();

                pedidosListViewModel.pedidosShow02 = new ObservableCollection <PedidosShowItemViewModel>(
                    pedidosListViewModel.pedidosShow02.Where(b => b.num != this.num));

                pedidosListViewModel.PedidosShow = new ObservableCollection <PedidosShowItemViewModel>(
                    pedidosListViewModel.pedidosShow.Where(b => b.num != this.num));

                pedidosListViewModel.Filter = "";

                // await this.dataServices.DeleteAll();
                await Application.Current.MainPage.DisplayAlert(
                    "",
                    "Pedido ha sido pickeado por completo.",
                    "Accept");

                await Application.Current.MainPage.Navigation.PopModalAsync();

                return;
            }

            this.Cidsector       = itemnext.idsector;
            this.Ncodigo         = itemnext.codigo;
            this.Cnompro         = itemnext.descrip;
            this.Ncantd          = itemnext.cantd;
            this.Ncantdrec       = itemnext.cantdrec;
            this.Ncantddif       = itemnext.cantd - itemnext.cantdrec;
            this.IsAceptEnabled  = true;
            this.IsSearchEnabled = true;
            this.Completado      = false;

            this.ArticulosBarras02 = new ObservableCollection <ArticuloBarras>();
            var oInicial     = this.ArticulosBarras.FirstOrDefault(p => p.codigo == this.Ncodigo);
            var nFirstCodigo = oInicial.codigo;

            var copy = new ObservableCollection <ArticuloBarras>(this.ArticulosBarras);

            foreach (var _item in copy)
            {
                if (_item.codigo == nFirstCodigo)
                {
                    this.ArticulosBarras02.Add(_item);
                }
            }

            return;
        }