Exemplo n.º 1
0
        public async Task TrainSelection(byte numberQueue)
        {
            if (MasterTcpIp == null || !MasterTcpIp.IsConnect)
            {
                return;
            }

            //ЗАПРОС О СОСТОЯНИИ ОЧЕРЕДИ
            var provider = new Terminal2ServerExchangeDataProvider {
                InputData = new TerminalInData {
                    NumberQueue = numberQueue, Action = TerminalAction.Info
                }
            };
            await MasterTcpIp.RequestAndRespoune(provider);


            if (provider.IsOutDataValid)
            {
                var prefix      = provider.OutputData.NumberQueue == 1 ? "A" : "B";
                var ticketName  = prefix + provider.OutputData.NumberElement.ToString("000");
                var countPeople = provider.OutputData.CountElement.ToString();

                var isAdded = OnConfirmationAdded(ticketName, countPeople);
                if (isAdded)
                {
                    //ЗАПРОС О ДОБАВЛЕНИИ ЭЛЕМЕНТА В ОЧЕРЕДЬ
                    provider = new Terminal2ServerExchangeDataProvider {
                        InputData = new TerminalInData {
                            NumberQueue = numberQueue, Action = TerminalAction.Add
                        }
                    };
                    await MasterTcpIp.RequestAndRespoune(provider);

                    if (provider.IsOutDataValid)
                    {
                        prefix      = provider.OutputData.NumberQueue == 1 ? "A" : "B";
                        ticketName  = prefix + provider.OutputData.NumberElement.ToString("000");
                        countPeople = provider.OutputData.CountElement.ToString();

                        PrintTicket.Print(ticketName, countPeople, provider.OutputData.AddedTime);
                    }
                }
                else
                {
                    // "НЕ добавлять"
                }
            }
        }
        public async Task QueueSelection(string nameQueue, string prefixQueue, string descriptionQueue)
        {
            if (!IsConnectTcpIp)
            {
                _loggerRaw.Info("NotConnect");   //DEBUG
                return;
            }

            try
            {
                _loggerRaw.Info("ЗАПРОС О СОСТОЯНИИ ОЧЕРЕДИ");   //DEBUG

                //ЗАПРОС О СОСТОЯНИИ ОЧЕРЕДИ
                var provider = new Terminal2ServerExchangeDataProvider {
                    InputData = new TerminalInData {
                        NameQueue = nameQueue, PrefixQueue = prefixQueue, Action = TerminalAction.Info
                    }
                };
                _loggerRaw.Info("RequestAndRespouneAsync");   //DEBUG
                await MasterTcpIp.RequestAndRespouneAsync(provider);

                //_logger.Info($"provider.IsOutDataValid=   {provider.IsOutDataValid}");
                _loggerRaw.Info($"provider.IsOutDataValid=  {provider.IsOutDataValid}");   //DEBUG

                if (provider.IsOutDataValid)
                {
                    var prefix      = provider.OutputData.PrefixQueue;
                    var ticketName  = prefix + provider.OutputData.NumberElement.ToString("000");
                    var countPeople = provider.OutputData.CountElement.ToString();

                    _loggerRaw.Info($"prefix= {prefix}  ticketName= {ticketName}  countPeople= {countPeople}");   //DEBUG

                    var isAdded = OnConfirmationAdded(ticketName, countPeople, descriptionQueue);
                    if (isAdded)
                    {
                        //ЗАПРОС О ДОБАВЛЕНИИ ЭЛЕМЕНТА В ОЧЕРЕДЬ
                        provider = new Terminal2ServerExchangeDataProvider {
                            InputData = new TerminalInData {
                                NameQueue = nameQueue, PrefixQueue = prefixQueue, Action = TerminalAction.Add
                            }
                        };
                        await MasterTcpIp.RequestAndRespouneAsync(provider);

                        if (provider.IsOutDataValid)
                        {
                            prefix      = provider.OutputData.PrefixQueue;
                            ticketName  = prefix + provider.OutputData.NumberElement.ToString("000");
                            countPeople = provider.OutputData.CountElement.ToString();

                            PrintTicket.Print(ticketName, countPeople, provider.OutputData.AddedTime);

                            //_logger.Info($"PrintTicket: {provider.OutputData.AddedTime}     {ticketName}    nameQueue= {nameQueue}   descriptionQueue= {descriptionQueue}");
                            _loggerRaw.Info($"PrintTicket: {provider.OutputData.AddedTime}     {ticketName}    nameQueue= {nameQueue}   descriptionQueue= {descriptionQueue}");   //DEBUG
                        }
                    }
                    else
                    {
                        // "НЕ добавлять"
                    }
                }
            }
            catch (Exception ex)
            {
                //_logger.Error($"TerminalModel/QueueSelection()=   {ex}");
                _loggerRaw.Error($"provider.IsOutDataValid= {ex}");   //DEBUG
            }
        }