コード例 #1
0
        private async Task <LogResponse> LogAsync(Func <int, Task <Dictionary <string, string> > > f)
        {
            LogResponse response = default;
            string      uri      = string.Format(LogUri, version);

            if (settings != null)
            {
                foreach (int ac_id in settings.AcIds)
                {
                    response = LogResponse.ParseFromAuth(await PostReturnBytesAsync(uri, await f(ac_id)));
                    if (response.Succeed)
                    {
                        break;
                    }
                }
            }
            if (!response.Succeed)
            {
                int ac_id = await GetAcId();

                if (ac_id > 0)
                {
                    if (settings != null)
                    {
                        settings.AcIds.Add(ac_id);
                    }
                    return(LogResponse.ParseFromAuth(await PostReturnBytesAsync(uri, await f(ac_id))));
                }
            }
            return(response);
        }
コード例 #2
0
        public async Task <LogResponse> LogoutAsync()
        {
            string uri = string.Format(LogUri, version);

            return(LogResponse.ParseFromAuth(await PostReturnBytesAsync(uri, new Dictionary <string, string>
            {
                ["action"] = "logout",
                ["ac_id"] = "1",
                ["double_stack"] = "1",
                ["username"] = Username,
                ["callback"] = "callback"
            })));
        }
コード例 #3
0
        private async Task <LogResponse> LogAsync(Func <int, Task <Dictionary <string, string> > > f)
        {
            LogResponse response = default;
            string      uri      = string.Format(LogUri, version);

            foreach (int ac_id in AcIds)
            {
                response = LogResponse.ParseFromAuth(await PostReturnBytesAsync(uri, await f(ac_id)));
                if (response.Succeed)
                {
                    break;
                }
            }
            return(response);
        }