예제 #1
0
        //-------------------------------------------------
        #region static Methods Region
        private static ChatConfiguration Parse(StrongString serverValue, ChatChannels channels)
        {
            ChatConfiguration configuration;

            StrongString[] myTStrings = serverValue.Split(OutCharSeparator);
            StrongString[] myStrings  = myTStrings[ConfigurationPosition].Split(InCharSeparator);
            configuration = new ChatConfiguration(channels)
            {
                Status     = (ChatChannelStatus)myStrings[0].ToUInt16(),
                ItemPrice  = myStrings[1].GetValue(),
                MinimumLvl = myStrings[2].ToUInt16(),
                BanList    = ChatBlockList.Parse(myTStrings[BanListPosition]),
            };
            StrongString[] banTime = myTStrings[BanTimePosition].Split(InCharSeparator);
            configuration.SetLimitationTime(banTime);
            return(configuration);
        }
예제 #2
0
        public async Task <bool> ReloadChatConfiguration()
        {
            //---------------------------------------------
            var _s        = ThereIsServer.ServersInfo.ServerManager.Get_Channel_Server(TheChannel);
            var _existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, DataBaseLocation);

            //---------------------------------------------
            if (_existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed)
            {
                NoInternetConnectionSandBox.PrepareConnectionClosedSandBox();
                return(false); // don't set ServerSettings.IsWaitingForServerChecking = false;
            }
            StrongString[] myTStrings = _existing.Decode().Split(OutCharSeparator);
            StrongString[] myStrings  = myTStrings[ConfigurationPosition].Split(InCharSeparator);
            StrongString[] banTime    = myTStrings[BanTimePosition].Split(InCharSeparator);
            Status     = (ChatChannelStatus)myStrings[0].ToInt32();
            ItemPrice  = myStrings[1].GetValue();
            MinimumLvl = myStrings[2].ToUInt16();
            BanList    = ChatBlockList.Parse(myTStrings[BanListPosition]);
            SetLimitationTime(banTime);
            return(true);
        }