Beispiel #1
0
        public void Received(string str)
        {
            var handle = str.Split(' ')[0].Trim('/');
            var data   = str.Remove(0, str.IndexOf(' '));

            try
            {
                switch (handle)
                {
                case ActionTicket.INITIAL:
                    Initial dataUser  = JsonConvert.DeserializeObject <Initial>(data);
                    var     dicSerNew = socController.setDicServices(dataUser.Services, new Dictionary <string, Service>(), config.LangCd);
                    var     dicCouNew = socController.setDicCounters(dataUser.Counters, new Dictionary <string, Counter>(), config.LangCd);
                    var     arrCheck  = socController.CheckModifyServiceCounter(dicAllCounters, dicAllServices, dicCouNew, dicSerNew);

                    initParam();
                    dicAllCounters = dicCouNew;
                    dicAllServices = dicSerNew;

                    SetDataToDic(dataUser.Tickets);
                    EventSocket eSocket = new EventSocket(ActionTicket.INITIAL, dicAllServices, dicAllCounters, dicServing, arrCheck[0], arrCheck[1]);
                    DataReceived(eSocket);
                    break;

                case ActionTicket.TICKET_ACTION:
                    var tkAc = JsonConvert.DeserializeObject <TicketAction>(data);
                    addDic(tkAc.Action, tkAc.Ticket, tkAc.Counter_Id, tkAc.Extra);
                    break;

                case ActionTicket.RELOAD:
                    isReload = true;
                    SetThreadExecutionState(ActionTicket.ES_CONTINUOUS);
                    CloseSocket();
                    Thread.Sleep(100);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Loi send data" + ex.Message);
            }
        }