Example #1
0
        /// <summary>
        /// Метод выполняет печать информации на метке
        /// </summary>
        private async void Print()
        {
            if (_client == null || !_client.IsConnected)
            {
                MessageBox.Show("Нет установленного соединения с шиной RFID");
                return;
            }
            try
            {
                //кодировщик
                var encoder = new EpcSgtin96Encoder(CompanyPrefix, ProductId, StartSerial);

                //баркод
                var barcode = new Code128BarCodeElement(5, 35, 45, 5, codeFontSize: 14)
                {
                    Value = CompanyPrefix.ToString(CultureInfo.InvariantCulture) + ProductId
                };

                for (var i = 0; i < TagsCount; i++)
                {
                    var label = new RfidPrintLabel {
                        Width = 50, Height = 50
                    };

                    //текстовый элемент epc
                    var epcElement = new TextElement(5, 20, 45, 25, "Arial", 35, BaseTools.GetStringFromBinary(encoder.Epc));

                    label.Elements.Add(epcElement);
                    label.Elements.Add(barcode);

                    if (IsWriteEpcData)
                    {
                        //элемент записи rfid данных
                        var writeEpcElement = new WriteDataLabelElement(encoder.Epc, retries: 1);
                        label.Elements.Add(writeEpcElement);
                    }

                    var printResult =
                        await _client.SendRequestAsync(new EnqueuePrintLabelTask(SelectedPrinter.Id, label));

                    if (printResult.Status != ResponseStatus.Ok)
                    {
                        MessageBox.Show(String.Format("Не удалось добавить задачу в очередь на печать. Код статуса: {0}", printResult.Status));
                    }

                    encoder++;
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(String.Format("Не удалось добавить задачу на печать. Описание: {0}", ex.Message));
            }
        }
Example #2
0
        /// <summary>
        /// Метод выполняет печать информации на метке
        /// </summary>
        private async void Print()
        {
            if (_client == null || !_client.IsConnected)
            {
                MessageBox.Show("Нет установленного соединения с шиной RFID");
                return;
            }
            try
            {
                //кодировщик
                var encoder = new EpcSgtin96Encoder(CompanyPrefix, ProductId, StartSerial);

                //баркод
                var barcode = new Code128BarCodeElement(5, 35, 45, 5, codeFontSize: 14)
                {
                    Value = CompanyPrefix.ToString(CultureInfo.InvariantCulture) + ProductId
                };

                for (var i = 0; i < TagsCount; i++)
                {
                    var label = new RfidPrintLabel { Width = 50, Height = 50 };

                    //текстовый элемент epc
                    var epcElement = new TextElement(5, 20, 45, 25, "Arial", 35, BaseTools.GetStringFromBinary(encoder.Epc));

                    label.Elements.Add(epcElement);
                    label.Elements.Add(barcode);  

                    if (IsWriteEpcData)
                    {
                        //элемент записи rfid данных
                        var writeEpcElement = new WriteDataLabelElement(encoder.Epc, retries: 1);
                        label.Elements.Add(writeEpcElement);
                    }         

                    var printResult =
                        await _client.SendRequestAsync(new EnqueuePrintLabelTask(SelectedPrinter.Id, label));

                    if (printResult.Status != ResponseStatus.Ok)
                    {
                        MessageBox.Show(String.Format("Не удалось добавить задачу в очередь на печать. Код статуса: {0}", printResult.Status));
                    }

                    encoder++;
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(String.Format("Не удалось добавить задачу на печать. Описание: {0}", ex.Message));
            }
        }