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 } }
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 } }
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; }