示例#1
0
        private void stockInControl_ReadTagsClicked(object sender, ReadTagsClickedEventArgs e)
        {
            RemoveAllControls();

            StockIn         stockIn  = e.StockIn;
            IList <Product> products = ProductService.GetProductsBuStockIn(stockIn);

            // 将products转成readerControl需要的格式
            IList <ReaderProductViewModel> productViewModels = ReaderProductViewModel.GetByProducts(products);

            AddReaderControl(productViewModels);
        }
示例#2
0
        private void SetProducts(IList <ReaderProductViewModel> products)
        {
            dgProducts.DataSource = products;

            // 让已经读到的标签,处于选中状态,所以会显示绿色
            for (int i = 0; i < products.Count; i++)
            {
                ReaderProductViewModel product = products[i];
                if (product.IsRead == true)
                {
                    dgProducts.Select(i);
                }
                else
                {
                    dgProducts.UnSelect(i);
                }
            }
        }
示例#3
0
        private void readerService_TagDataReceived(object sender, TagDataReceivedEventArgs e)
        {
            this.Invoke((EventHandler) delegate
            {
                string text = "";

                foreach (TagData item in e.TagData)
                {
                    text += item.TagID + "\r\n";
                    if (products != null)
                    {
                        // tag已经读取到,配置isRead属性为true
                        IList <ReaderProductViewModel> readProducts = products.Where(p => p.TagId == item.TagID).ToList();

                        if (readProducts != null && readProducts.Count != 0)
                        {
                            ReaderProductViewModel product = readProducts.First();
                            if (product != null)
                            {
                                product.IsRead = true;
                            }
                        }
                    }
                }

                // 让没有读取到的tag,显示在前面
                if (products != null)
                {
                    products = products.OrderBy(p => p.IsRead).ToList();
                    SetProducts(products);
                }

                txtMessage.Text   = text;
                labTotalRead.Text = "读" + products.Where(p => p.IsRead).Count() + "共" + products.Count();
            });
        }