public Forums() { this.InitializeComponent(); APILibrary = new Library_APICall(); mlibrary = new methodLibrary(); rforumposts = new RootObjectForumPosts(); rforumtopics = new RootObjectForumTopics(); rforumdata = new RootObjectForumsData(); remails = new RootObjectEmails(); remaildata = new RootEmailData(); ftopic = new ObservableCollection<ForumsTopic>(); etopic = new ObservableCollection<EmailTopics>(); DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait; this.NavigationCacheMode = NavigationCacheMode.Required; //rforumdatatopic = new ForumsTopic(); //this.NavigationCacheMode = NavigationCacheMode.Required; teamid = 0; }
public static string emailsDataSerializer(RootObjectEmails remails) { string response = JsonConvert.SerializeObject(remails); return response; }
public static async Task<string> fetchEmails() { string broadcast_emails = null; remaildata.emailtopic = new List<EmailTopics>(); try { string hrefEmails = "https://api.teamsnap.com/v3/broadcast_emails/search?team_id=" + teamid.ToString(); string access_token = (string)ApplicationData.Current.LocalSettings.Values["Tokens"]; broadcast_emails = await APILibrary.apiCall(access_token, hrefEmails); if (broadcast_emails == "fail") { return "networkProblem"; } else { await mlibrary.writeFile("emails_" + Constants.CurrentTeamID, broadcast_emails); } } catch (Exception ex) { Debug.WriteLine("Exception returned : " + ex); return "noData"; } try { remails = Emails.emailsDataDeserializer(broadcast_emails); Hashtable remails_ht = new Hashtable(); if (remails.collection.items != null) { for (int i = 0; i < remails.collection.items[0].data.Count; i++) { if (!remails_ht.ContainsKey(remails.collection.items[0].data[i].name)) { remails_ht.Add(remails.collection.items[0].data[i].name, i); } } for (int i = 0; i < remails.collection.items.Count; i++) { EmailTopics remailtopic = new EmailTopics(); remailtopic.attachment_count = remails.collection.items[i].data[(int)remails_ht["attachment_count"]].value == null ? 0 : (long)remails.collection.items[i].data[(int)remails_ht["attachment_count"]].value; remailtopic.attachment_names = remails.collection.items[i].data[(int)remails_ht["attachment_names"]].value == null ? "" : (string)remails.collection.items[i].data[(int)remails_ht["attachment_names"]].value; remailtopic.body = methodLibrary.StripTagsRegexCompiled((string)remails.collection.items[i].data[(int)remails_ht["body"]].value); remailtopic.body_unstripped = (string)remails.collection.items[i].data[(int)remails_ht["body"]].value; remailtopic.from_email_address = (string)remails.collection.items[i].data[(int)remails_ht["from_email_address"]].value; remailtopic.id = remails.collection.items[i].data[(int)remails_ht["id"]].value == null ? 0 : (long)remails.collection.items[i].data[(int)remails_ht["id"]].value; DateTime created_at = remails.collection.items[i].data[(int)remails_ht["created_at"]].value == null ? DateTime.MinValue : (DateTime)remails.collection.items[i].data[(int)remails_ht["created_at"]].value; DateTime updated_at = remails.collection.items[i].data[(int)remails_ht["updated_at"]].value == null ? DateTime.MinValue : (DateTime)remails.collection.items[i].data[(int)remails_ht["updated_at"]].value; updated_at = updated_at.ToLocalTime(); remailtopic.updated_at = String.Format("{0:ddd, MMM d, hh:mm tt}", updated_at); created_at = created_at.ToLocalTime(); remailtopic.updated_at = String.Format("{0:ddd, MMM d, hh:mm tt}", created_at); remailtopic.is_draft = remails.collection.items[i].data[(int)remails_ht["is_draft"]].value == null ? false : (bool)remails.collection.items[i].data[(int)remails_ht["is_draft"]].value; remailtopic.member_id = remails.collection.items[i].data[(int)remails_ht["member_id"]].value == null ? 0 : (long)remails.collection.items[i].data[(int)remails_ht["member_id"]].value; remailtopic.recipient_count = remails.collection.items[i].data[(int)remails_ht["recipient_count"]].value == null ? 0 : (long)remails.collection.items[i].data[(int)remails_ht["recipient_count"]].value; remailtopic.recipient_names = (string)remails.collection.items[i].data[(int)remails_ht["recipient_names"]].value; remailtopic.subject = (string)remails.collection.items[i].data[(int)remails_ht["subject"]].value; remailtopic.team_id = remails.collection.items[i].data[(int)remails_ht["team_id"]].value == null ? 0 : (long)remails.collection.items[i].data[(int)remails_ht["team_id"]].value; remaildata.emailtopic.Add(remailtopic); } remails_ht.Clear(); } else { return "noData"; } } catch (Exception ex) { Debug.WriteLine("Exception returned : " + ex); return "noData"; } return "allGood"; }