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); }
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" }))); }
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); }