private void InitializeTagList(string page) { string tagUri = StackApi.CreateRequestUri("tags", new Dictionary <string, string> { { "site", this.DisplaySite.ApiSiteParameter }, { "pagesize", "20" }, { "page", page } }); TagResponse response = StackApi.FireCacheableRequest <TagResponse>(tagUri, 1800); string[] tagNames = response.Tags.Select(x => x.Name).ToArray(); string apiTagString = string.Join(";", tagNames); string wikiUri = StackApi.CreateRequestUri("tags/{apiTagString}/wikis", new Dictionary <string, string> { { "site", this.DisplaySite.ApiSiteParameter }, { "apiTagString", apiTagString } }); TagWikiResponse wikiResponse = StackApi.FireCacheableRequest <TagWikiResponse>(wikiUri, 86400); foreach (Tag tag in response.Tags) { TagWiki wiki; try { wiki = wikiResponse.TagWikis.First(x => x.TagName == tag.Name); } catch (InvalidOperationException) { wiki = new TagWiki(); } UserControl tagElement = new TagPartial(tag, wiki, this.DisplaySite, this.parentFrame); this.TagsPanel.Children.Add(tagElement); } }
public void logAnswer(StackApi.RootObject var) { solutions.Add(var); try { db = File.Open("E:\\Data\\Solution" + solutions.Count + ".bin", FileMode.Create); sf.Serialize(db, var); db.Close(); count = new StreamWriter("E:\\Data\\Solcount.txt", false); count.Write(solutions.Count); count.Flush(); count.Close(); } catch (Exception e) { System.Console.WriteLine(e.Message); } }
private void InitializeQuestions(string page) { string questionsUri = StackApi.CreateRequestUri("questions", new Dictionary <string, string> { { "site", this.DisplaySite.ApiSiteParameter }, { "pagesize", "50" }, { "page", page } }); QuestionResponse response = StackApi.FireRequest <QuestionResponse>(questionsUri); foreach (Question question in response.Questions) { this.QuestionsPanel.Children.Add(new QuestionPartial(question, this.DisplaySite)); } }
private void FinishedAuth_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { this.FinishedAuth.Text = "Working..."; HttpWebRequest request = WebRequest.Create($"https://auth.artofcode.co.uk/auth/token?key={App.AuthenticatingGuid}") as HttpWebRequest; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { ((MainWindow)Application.Current.MainWindow).ChangeContent(new FinishedAuth(false, "", (int)response.StatusCode)); return; } DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(DSSToken)); DSSToken tokenResponse = serializer.ReadObject(response.GetResponseStream()) as DSSToken; if (tokenResponse.AccessToken != null) { string networkUserUri = StackApi.CreateRequestUri("me/associated", new Dictionary <string, string> { { "access_token", tokenResponse.AccessToken } }); NetworkUserResponse accountUsers = StackApi.FireRequest <NetworkUserResponse>(networkUserUri); NetworkUser displayUser = accountUsers.NetworkUsers.First(); List <Site> sites = ((MainWindow)Application.Current.MainWindow).GetSitesList(); string apiSiteParam = sites.First(x => x.Name == displayUser.SiteName).ApiSiteParameter; string userUri = StackApi.CreateRequestUri("me", new Dictionary <string, string> { { "site", apiSiteParam }, { "access_token", tokenResponse.AccessToken } }); UserResponse users = StackApi.FireRequest <UserResponse>(userUri); User signInUser = users.Users.First(); App.SetSignedInUser(signInUser); App.AuthenticatingGuid = Guid.Empty; ((MainWindow)Application.Current.MainWindow).ChangeContent(new FinishedAuth(true, $"{signInUser.DisplayName} ({displayUser.AccountId})", 200)); Console.WriteLine(signInUser.DisplayName, displayUser.AccountId); } else { ((MainWindow)Application.Current.MainWindow).ChangeContent(new FinishedAuth(false, "", -1)); } } }