Beispiel #1
0
        public static void UserCheckerLoop()
        {
            Task UserTask = Task.Run(() =>
            {
                while (true)
                {
                    TransectionBuffer ThisUser;

                    if (BufferList.TryPeek(out ThisUser))
                    {
                        List <String> StationArr = ThisUser.UserInformation.UserStationPermission.Split(new char[] { ',' }).ToList();

                        foreach (String StationNameStr in StationArr)
                        {
                            if (StationNameStr == "All Station")
                            {
                                StationArr.Add("AIRFORCE");
                                StationArr.Add("CHACHOENGSAO");
                                StationArr.Add("NAKHONRATCHASIMA");
                                StationArr.Add("CHINA");
                                StationArr.Add("USA");
                                //StationArr.Add("ASTROPARK");
                                break;
                            }
                        }

                        StationArr.Remove("All Station");
                        StationArr.Remove("NULL");

                        Boolean IsSend = true;
                        foreach (String StationName in StationArr)
                        {
                            ReturnKnowType ReturnResult = AstroData.UpdateStationUser(ThisUser.UserInformation.UserID, ThisUser.UserInformation.UserName, ThisUser.UserInformation.UserLoginName, ThisUser.UserInformation.UserLoginPassword,
                                                                                      ThisUser.UserInformation.UserPermissionType, ThisUser.UserInformation.UserStationPermission, StationName, ThisUser.UserAction);

                            if (ReturnResult.ReturnType != ReturnStatus.SUCESSFUL)
                            {
                                IsSend = false;
                            }
                        }

                        if (IsSend)
                        {
                            BufferList.TryDequeue(out ThisUser);
                        }
                    }
                    Thread.Sleep(1000);
                }
            });
        }