public TeamPage() { this.InitializeComponent(); ruserteam = new CollectionUsersTeam(); teamid = 0; this.NavigationCacheMode = NavigationCacheMode.Required; }
public Roster() { this.InitializeComponent(); ruserteam = new CollectionUsersTeam(); rmembers = new ObservableCollection<CollectionUsersTeamMembers>(); rfammemcontacts = new ObservableCollection<FamilyMemberContacts>(); rmembers_nonplayer = new ObservableCollection<CollectionUsersTeamMembers>(); }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { NavigationParameterClass npc = (NavigationParameterClass)e.Parameter; ruserteam = (CollectionUsersTeam)(npc.dataClass); Debug.WriteLine("ruserteam id : " + ruserteam.id); BitmapImage bmp = new BitmapImage(new Uri("ms-appx:/" + ruserteam.pathToSportLogo, UriKind.RelativeOrAbsolute)); teamid = ruserteam.id; sport_icon.Source = bmp; pageTitle.Text = ruserteam.name; team_name.Text = ruserteam.name; owner_name.Text = ruserteam.teamOwner; }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { sortOrder.Visibility = Visibility.Collapsed; base.OnNavigatedTo(e); NavigationParameterClass npc = new NavigationParameterClass(); npc = (NavigationParameterClass)e.Parameter; ruserteam = (CollectionUsersTeam)(npc.dataClass); var memberobject = ruserteam.members; rmembers.Clear(); rmembers_nonplayer.Clear(); foreach (var t_member in memberobject) { if (t_member.is_non_player == true) { rmembers_nonplayer.Add(t_member); } else { rmembers.Add(t_member); } } sortOrder.Visibility = Visibility.Visible; RosterListView.DataContext = this; RosterListViewNonPlayer.DataContext = this; if (rmembers.Count <= 0) { RosterListView.Visibility = Visibility.Collapsed; addYourTeamPlayerMobile.Visibility = Visibility.Visible; } else { RosterListView.Visibility = Visibility.Visible; addYourTeamPlayerMobile.Visibility = Visibility.Collapsed; } if (rmembers_nonplayer.Count <= 0) { RosterListViewNonPlayer.Visibility = Visibility.Collapsed; addYourNonTeamPlayerMobile.Visibility = Visibility.Visible; } else { RosterListViewNonPlayer.Visibility = Visibility.Visible; addYourNonTeamPlayerMobile.Visibility = Visibility.Collapsed; } }
/// <summary> /// update User Information. /// </summary> /// <returns></returns> public static async Task<RootObjectUsers> updateUser() { mlb = new methodLibrary(); //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": in updateUser method"); string meAPIResponse = await mlb.readFile("meAPIResponse"); RootObjectMe rme = new RootObjectMe(); rme = Me.MeDataDeserializer(meAPIResponse); string teamAPIResponse = await mlb.readFile("teamAPIResponse"); RootObjectTeams rteams = new RootObjectTeams(); //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Deserializing teams response"); rteams = Teams.teamDataDeserializer(teamAPIResponse); // start with rme and store data about the user itemCollection = new CollectionUsersItem(); LibraryAPI = new Library_APICall(); //teamsCollection = new CollectionUsersTeam(); rusers = new RootObjectUsers(); rusers.items = new List<CollectionUsersItem>(); rusers.teams = new List<CollectionUsersTeam>(); rsports = new RootObjectSports(); RootObjectMembers rmembers = new RootObjectMembers(); Dictionary<string, int> rme_ht = new Dictionary<string, int>(); Dictionary<string, int> rteam_ht = new Dictionary<string, int>(); Dictionary<string, int> rteamlinks_ht = new Dictionary<string, int>(); string memberAPIResponse = null; int id = 0; /** Populate a hashtable to get sportname quickly. Also write results of sportsAPI call to a file.**/ string sportres = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/sports"); rsports = Sports.usersDataDeserializer(sportres); Dictionary<object, long> rsports_ht = new Dictionary<object, long>(); for (int i = 0; i < rsports.collection.items.Count; i++) { if (!rsports_ht.ContainsKey(rsports.collection.items[i].data[0].value)) { rsports_ht.Add(rsports.collection.items[i].data[0].value, i); } } mlb.makeAPICallandWriteToFile("sportsName", "https://api.teamsnap.com/v3/sports"); /************/ while(id < rme.collection.items[0].data.Count) { if (!rme_ht.ContainsKey(rme.collection.items[0].data[id].name)) { rme_ht.Add(rme.collection.items[0].data[id].name, id); } id++; } await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Updating itemcollections", false); itemCollection.id = rme.collection.items[0].data[(int)rme_ht["id"]].value == null ? 0:(long)rme.collection.items[0].data[(int)rme_ht["id"]].value; itemCollection.type = rme.collection.items[0].data[(int)rme_ht["type"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["type"]].value; itemCollection.address_country = rme.collection.items[0].data[(int)rme_ht["address_country"]].value == null ? "" : (string)rme.collection.items[0].data[(int)rme_ht["address_country"]].value; itemCollection.address_state = rme.collection.items[0].data[(int)rme_ht["address_state"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["address_state"]].value; itemCollection.birthday = rme.collection.items[0].data[(int)rme_ht["birthday"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["birthday"]].value; itemCollection.email = rme.collection.items[0].data[(int)rme_ht["email"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["email"]].value; itemCollection.first_name = rme.collection.items[0].data[(int)rme_ht["first_name"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["first_name"]].value; itemCollection.last_name = rme.collection.items[0].data[(int)rme_ht["last_name"]].value == null ? "":(string)rme.collection.items[0].data[(int)rme_ht["last_name"]].value; //itemCollection.teams_count = rme.collection.items[0].data[(int)rme_ht["teams_count"]].value == null ? 0:(long)rme.collection.items[0].data[(int)rme_ht["teams_count"]].value; try { itemCollection.teams_count = (int)rteams.collection.items.Count; } catch (Exception ex) { await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Exception in setting team count", true); } await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": itemcollection has been updated", false); rusers.items.Add(itemCollection); Debug.WriteLine("MethodLibrary : End rME. Start rTeam."); // now use rteams to store data about the teams the user is a member of. for(int i=0; i < rusers.items[0].teams_count; i++) { id = 0; try { while (id < rteams.collection.items[i].data.Count) { if (!rteam_ht.ContainsKey(rteams.collection.items[i].data[id].name)) { rteam_ht.Add(rteams.collection.items[i].data[id].name, id); } id++; } id = 0; while (id < rteams.collection.items[i].links.Count) { if (!rteamlinks_ht.ContainsKey(rteams.collection.items[i].links[id].rel)) { rteamlinks_ht.Add(rteams.collection.items[i].links[id].rel, id); } id++; } } catch (Exception ex) { Debug.WriteLine("Exception in setting rteam_ht and rteamlinks_ht :" + ex); await mlb.writeToLogFile((DateTime.UtcNow).ToString() + "Exception in setting rteam_ht and rteamlinks_ht: " + ex, true); } teamsCollection = new CollectionUsersTeam(); teamsCollection.members = new List<CollectionUsersTeamMembers>(); teamsCollection.id = rteams.collection.items[i].data[(int)rteam_ht["id"]].value == null ? 0:(long)rteams.collection.items[i].data[(int)rteam_ht["id"]].value; teamsCollection.eventsLink = rteams.collection.items[i].links[(int)rteamlinks_ht["events"]].href == null ? "":(string)rteams.collection.items[i].links[(int)rteamlinks_ht["events"]].href; /** Writing API call results of Opponents, Events and Locations to file. Speed up stuff ahead**/ string flname = "events_" + (teamsCollection.id).ToString(); await mlb.makeAPICallandWriteToFile(flname, teamsCollection.eventsLink); flname = "opponents_" + (teamsCollection.id).ToString(); mlb.makeAPICallandWriteToFile(flname, (string)rteams.collection.items[i].links[(int)rteamlinks_ht["opponents"]].href); flname = "locations_" + (teamsCollection.id).ToString(); mlb.makeAPICallandWriteToFile(flname, (string)rteams.collection.items[i].links[(int)rteamlinks_ht["locations"]].href); /**Done**/ //string tempres = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], teamsCollection.eventsLink); teamsCollection.locationsLink = rteams.collection.items[i].links[(int)rteamlinks_ht["locations"]].href == null ? "":(string)rteams.collection.items[i].links[(int)rteamlinks_ht["locations"]].href; string memberslink = rteams.collection.items[i].links[(int)rteamlinks_ht["members"]].href == null ? "":(string)rteams.collection.items[i].links[(int)rteamlinks_ht["members"]].href; teamsCollection.type = rteams.collection.items[i].data[(int)rteam_ht["type"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["type"]].value; teamsCollection.division_name = rteams.collection.items[i].data[(int)rteam_ht["division_name"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["division_name"]].value; teamsCollection.is_archived_season = rteams.collection.items[i].data[(int)rteam_ht["is_archived_season"]].value == null ? false : (bool)rteams.collection.items[i].data[(int)rteam_ht["is_archived_season"]].value; teamsCollection.is_retired = rteams.collection.items[i].data[(int)rteam_ht["is_retired"]].value == null ? false : (bool)rteams.collection.items[i].data[(int)rteam_ht["is_retired"]].value; teamsCollection.league_name = rteams.collection.items[i].data[(int)rteam_ht["league_name"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["league_name"]].value; teamsCollection.league_url = rteams.collection.items[i].data[(int)rteam_ht["league_url"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["league_url"]].value; teamsCollection.is_in_league = rteams.collection.items[i].data[(int)rteam_ht["is_in_league"]].value == null ? false : (bool)rteams.collection.items[i].data[(int)rteam_ht["is_in_league"]].value; teamsCollection.location_country = rteams.collection.items[i].data[(int)rteam_ht["location_country"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["location_country"]].value; teamsCollection.location_postal_code = rteams.collection.items[i].data[(int)rteam_ht["location_postal_code"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["location_postal_code"]].value; teamsCollection.location_latitude = rteams.collection.items[i].data[(int)rteam_ht["location_latitude"]].value == null ? "38.8951100" :(string)rteams.collection.items[i].data[(int)rteam_ht["location_latitude"]].value; ApplicationData.Current.LocalSettings.Values["team_latitude_" + teamsCollection.id] = (string)teamsCollection.location_latitude; teamsCollection.location_longitude = rteams.collection.items[i].data[(int)rteam_ht["location_longitude"]].value == null ? "-77.0363700" : (string)rteams.collection.items[i].data[(int)rteam_ht["location_longitude"]].value; ApplicationData.Current.LocalSettings.Values["team_longitude_" + teamsCollection.id] = (string)teamsCollection.location_longitude; teamsCollection.name = rteams.collection.items[i].data[(int)rteam_ht["name"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["name"]].value; teamsCollection.plan_id = rteams.collection.items[i].data[(int)rteam_ht["plan_id"]].value == null ? 0:(long)rteams.collection.items[i].data[(int)rteam_ht["plan_id"]].value; teamsCollection.season_name = rteams.collection.items[i].data[(int)rteam_ht["season_name"]].value == null ? "":(string)rteams.collection.items[i].data[(int)rteam_ht["season_name"]].value; teamsCollection.sport_id = rteams.collection.items[i].data[(int)rteam_ht["sport_id"]].value == null ? 0:(long)rteams.collection.items[i].data[(int)rteam_ht["sport_id"]].value; teamsCollection.sport_name = getSportName(teamsCollection.sport_id, rsports_ht); teamsCollection.pathToSportLogo = "images/" + teamsCollection.sport_id + ".png"; //teamsCollection.teamOwner = itemCollection.first_name + " " + itemCollection.last_name; mlb.writeToLogFile("Calling TeamAvailability API", false); mlb.makeAPICallandWriteToFile("teamAvailabilityAPI" + teamsCollection.id, (string)rteams.collection.items[i].links[(int)rteamlinks_ht["availabilities"]].href); mlb.writeToLogFile("Done calling TeamAvailability API and updating the availabilityfile", false); // make API call to fetch members for that particular team memberAPIResponse = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], memberslink); if (memberAPIResponse != "fail") { //deserialize the response rmembers = Members.membersDataDeserializer(memberAPIResponse); Dictionary<string, int> rmember_ht = new Dictionary<string, int>(); // use rmembers to store data about the members the team has for (int j = 0; j < rmembers.collection.items.Count; j++) { int idm = 0; // Debug.WriteLine("Adding values to rmember_ht"); while (idm < rmembers.collection.items[j].data.Count) { //Debug.WriteLine("Inside the while loop that adds values to rmember_ht"); try { if (!rmember_ht.ContainsKey(rmembers.collection.items[j].data[idm].name)) { rmember_ht.Add(rmembers.collection.items[j].data[idm].name, idm); } idm++; } catch (Exception ex) { Debug.WriteLine(ex); await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": rmember_ht exception", true); } } teammembers = new CollectionUsersTeamMembers(); await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Updating teammember", false); teammembers.address_city = rmembers.collection.items[j].data[(int)rmember_ht["address_city"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["address_city"]].value; teammembers.address_state = rmembers.collection.items[j].data[(int)rmember_ht["address_state"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["address_state"]].value; teammembers.address_street1 = rmembers.collection.items[j].data[(int)rmember_ht["address_street1"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["address_street1"]].value; teammembers.address_street2 = rmembers.collection.items[j].data[(int)rmember_ht["address_street2"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["address_street2"]].value; teammembers.address_zip = rmembers.collection.items[j].data[(int)rmember_ht["address_zip"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["address_zip"]].value; teammembers.birthday = rmembers.collection.items[j].data[(int)rmember_ht["birthday"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["birthday"]].value; teammembers.member_id = rmembers.collection.items[j].data[(int)rmember_ht["id"]].value == null ? 0 : (long)rmembers.collection.items[j].data[(int)rmember_ht["id"]].value; //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": member id " + teammembers.member_id); teammembers.first_name = rmembers.collection.items[j].data[(int)rmember_ht["first_name"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["first_name"]].value; teammembers.gender = rmembers.collection.items[j].data[(int)rmember_ht["gender"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["gender"]].value; teammembers.is_address_hidden = rmembers.collection.items[j].data[(int)rmember_ht["is_address_hidden"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["hide_address"]].value; teammembers.is_age_hidden = rmembers.collection.items[j].data[(int)rmember_ht["is_age_hidden"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["hide_age"]].value; teammembers.is_manager = rmembers.collection.items[j].data[(int)rmember_ht["is_manager"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["is_manager"]].value; teammembers.is_non_player = rmembers.collection.items[j].data[(int)rmember_ht["is_non_player"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["is_non_player"]].value; teammembers.jersey_number = rmembers.collection.items[j].data[(int)rmember_ht["jersey_number"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["jersey_number"]].value; //Debug.WriteLine("Jersey Number : " + ((bool)string.IsNullOrEmpty((string)rmembers.collection.items[j].data[24].value)) ? true : false ); teammembers.last_name = rmembers.collection.items[j].data[(int)rmember_ht["last_name"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["last_name"]].value; teammembers.position = rmembers.collection.items[j].data[(int)rmember_ht["position"]].value == null ? "":(string)rmembers.collection.items[j].data[(int)rmember_ht["position"]].value; teammembers.team_id = rmembers.collection.items[j].data[(int)rmember_ht["team_id"]].value == null ? 0:(long)rmembers.collection.items[j].data[(int)rmember_ht["team_id"]].value; teammembers.user_id = rmembers.collection.items[j].data[(int)rmember_ht["user_id"]].value == null ? 0 : (long)rmembers.collection.items[j].data[(int)rmember_ht["user_id"]].value; bool is_owner = rmembers.collection.items[j].data[(int)rmember_ht["is_owner"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["is_owner"]].value; /// if the current member is also the logged-in user, store that id in a separate object if (teammembers.user_id == rusers.items[0].id) { teamsCollection.loggedInUsersmemberID = teammembers.member_id; } if (is_owner == true) { teamsCollection.teamOwner = teammembers.first_name + " " + teammembers.last_name; teamsCollection.teamOwnerMemberId = teammembers.member_id; } bool is_manager = rmembers.collection.items[j].data[(int)rmember_ht["is_owner"]].value == null ? false : (bool)rmembers.collection.items[j].data[(int)rmember_ht["is_manager"]].value; if (is_manager == true) { teamsCollection.teamManagerName = teammembers.first_name + " " + teammembers.last_name; teamsCollection.teamManagerMemberId = teammembers.member_id; } //teammembers.updated_at = rmembers.collection.items[j].data[(int)rmember_ht["updated_at"]].value == null ? DateTime.MinValue : (DateTime)rmembers.collection.items[j].data[(int)rmember_ht["updated_at"]].value; /* Fetching Family Member Information */ //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": ****Calling Contacts, Contacts Phone and Contacts Email API for member : " + teammembers.member_id + "****", false); //string family_contacts_res = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/contacts/search?member_id=" + teammembers.member_id); //RootObjectMemberContacts rmemcontacts = new RootObjectMemberContacts(); //if (teammembers.first_name == "User1") //{ // Debug.WriteLine(family_contacts_res); //} //rmemcontacts = MemberContacts.membercontactsDataDeserializer(family_contacts_res); //try //{ // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + (rmemcontacts.collection.items == null ? ": No items in rmemcontacts" : ": rmemcontact has " + rmemcontacts.collection.items.Count + " values"), false); // if (rmemcontacts.collection.items != null) // { // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Inside if (rmemcontacts.collection.items != null)", false); // teammembers.family_members = new List<FamilyMemberContacts>(); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": GET Phone API", false); // string family_contacts_phone_res = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/contact_phone_numbers/search?member_id=" + teammembers.member_id); // if (teammembers.first_name == "User1") // { // Debug.WriteLine(family_contacts_phone_res); // } // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": GET Email API", false); // string family_contacts_email_res = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/contact_email_addresses/search?member_id=" + teammembers.member_id); ; // if (teammembers.first_name == "User1") // { // Debug.WriteLine(family_contacts_email_res); // } // RootObjectContactPhone rcontactphone = new RootObjectContactPhone(); // RootObjectContactEmailAddress rcontactemailaddress = new RootObjectContactEmailAddress(); // rcontactemailaddress = MemberContactEmailAddress.contactEmailAddressDataDeserializer(family_contacts_email_res); // Dictionary<string, int> rcontactemail_items_ht = new Dictionary<string, int>(); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Finished deserializing Email API response", false); // rcontactphone = MemberContactsPhoneNumbers.contactPhoneDataDeserializer(family_contacts_phone_res); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Finished deserializing Phone API response", false); // Dictionary<string, int> rmemcontacts_ht = new Dictionary<string, int>(); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Hashtable has been populated.", false); // for (int ind = 0; ind < rmemcontacts.collection.items.Count; ind++) // { // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Creating Hashtable.", false); // for (int ind1 = 0; ind1 < rmemcontacts.collection.items[ind].data.Count; ind1++) // { // rmemcontacts_ht.Add(rmemcontacts.collection.items[ind].data[ind1].name, ind1); // } // FamilyMemberContacts rfammemcontacts = new FamilyMemberContacts(); // rfammemcontacts.id = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["id"]].value == null ? 0 : (long)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["id"]].value; // rfammemcontacts.address_city = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_city"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_city"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_city from TeamSnap.", false); // rfammemcontacts.address_country = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_country"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_country"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_country from TeamSnap.", false); // rfammemcontacts.address_state = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_state"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_state"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_state from TeamSnap.", false); // rfammemcontacts.address_street1 = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_street1"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_street1"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_street1 from TeamSnap.", false); // rfammemcontacts.address_street2 = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_street2"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_street2"]].value; ; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_street2 from TeamSnap.", false); // rfammemcontacts.address_zip = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_zip"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["address_zip"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched address_zip from TeamSnap.", false); // rfammemcontacts.first_name = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["first_name"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["first_name"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched first_name from TeamSnap.", false); // rfammemcontacts.label = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["label"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["label"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched label from TeamSnap.", false); // rfammemcontacts.last_name = rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["last_name"]].value == null ? null : (string)rmemcontacts.collection.items[ind].data[(int)rmemcontacts_ht["last_name"]].value; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched last_name from TeamSnap.", false); // rfammemcontacts.full_name = rfammemcontacts.first_name + " " + rfammemcontacts.last_name; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched full_name from TeamSnap.", false); // rfammemcontacts.nameAndLabel = rfammemcontacts.full_name + " (" + rfammemcontacts.label + ")"; // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched label from TeamSnap.", false); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + (rcontactphone.collection.items == null ? ": No items in rcontactphone" : ": rcontactphone has " + rcontactphone.collection.items.Count + " values"), false); // if (rcontactphone.collection.items != null) // { // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + (rcontactphone.collection.items[ind] == null ? ": rcontactphone.collection.items[ind] is null" : ": rcontactphone.collection.items[ind] is not null"), false); // Dictionary<string, int> rfamcontactphone_ht = new Dictionary<string, int>(); // rfammemcontacts.phonenum = new System.Collections.ObjectModel.ObservableCollection<FamilyMemberContactsPhones>(); // for (int k = 0; k < rcontactphone.collection.items[0].data.Count; k++) // { // rfamcontactphone_ht.Add(rcontactphone.collection.items[0].data[k].name, k); // } // for (int k = 0; k < rcontactphone.collection.items.Count; k++) // { // Debug.WriteLine((int)rfamcontactphone_ht["contact_id"]); // Debug.WriteLine((long)rcontactphone.collection.items[k].data[(int)rfamcontactphone_ht["contact_id"]].value); // if ((long)rcontactphone.collection.items[k].data[(int)rfamcontactphone_ht["contact_id"]].value == rfammemcontacts.id) // { // FamilyMemberContactsPhones rfamcontactphone = new FamilyMemberContactsPhones(); // rfamcontactphone.phone_number = rcontactphone.collection.items[k].data[(int)rfamcontactphone_ht["phone_number"]].value == null ? null : (string)rcontactphone.collection.items[k].data[(int)rfamcontactphone_ht["phone_number"]].value; // rfammemcontacts.phonenum.Add(rfamcontactphone); // } // } // rfamcontactphone_ht.Clear(); // } // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + (rcontactemailaddress.collection.items == null ? ": No items in rcontactphone" : ": rcontactphone has " + rcontactemailaddress.collection.items.Count + " values"), false); // if (rcontactemailaddress.collection.items != null) // { // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + (rcontactemailaddress.collection.items[ind] == null ? ": rcontactemailaddress.collection.items[ind] is null" : ": rcontactemailaddress.collection.items[ind] is not null"), false); // Dictionary<string, int> rfamcontactemail_ht = new Dictionary<string, int>(); // rfammemcontacts.emailAdd = new System.Collections.ObjectModel.ObservableCollection<FamilyMemberContactsEmail>(); // for (int k = 0; k < rcontactemailaddress.collection.items[0].data.Count; k++) // { // // if (rcontactemailaddress.collection.items[0].data[k].name != "sms_gateway_id") // //{ // rfamcontactemail_ht.Add(rcontactemailaddress.collection.items[0].data[k].name, k); // //} // } // for (int k = 0; k < rcontactemailaddress.collection.items.Count; k++) // { // if ((long)rcontactemailaddress.collection.items[k].data[(int)rfamcontactemail_ht["contact_id"]].value == rfammemcontacts.id) // { // FamilyMemberContactsEmail rfamcontactemail = new FamilyMemberContactsEmail(); // Debug.WriteLine((int)rfamcontactemail_ht["email"]); // Debug.WriteLine((string)rcontactemailaddress.collection.items[k].data[(int)rfamcontactemail_ht["email"]].value); // rfamcontactemail.email_address = rcontactemailaddress.collection.items[k].data[(int)rfamcontactemail_ht["email"]].value == null ? null : (string)rcontactemailaddress.collection.items[k].data[(int)rfamcontactemail_ht["email"]].value; // rfammemcontacts.emailAdd.Add(rfamcontactemail); // } // } // rfamcontactemail_ht.Clear(); // //if (rcontactemailaddress.collection.items[ind] != null) // //{ // // for (int index = 0; index < rcontactemailaddress.collection.items[ind].data.Count; index++) // // { // // if (rcontactemailaddress.collection.items[ind].data[index].name == "email") // // { // // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetching email_address.", false); // // rfammemcontacts.email_address = rcontactemailaddress.collection.items[ind].data[index].value == null ? null : (string)rcontactemailaddress.collection.items[ind].data[index].value; // // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": fetched email_address.", false); // // } // // } // //} // } // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Addsing rfamemcontacts to teammebers.family_members.", false); // teammembers.family_members.Add(rfammemcontacts); // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Clearing the hashtable.", false); // rmemcontacts_ht.Clear(); // } // } //} //catch (Exception ex) //{ // await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Exception in Calling Contacts, Contacts Phone and Contacts Email API " + ex, true); //} //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": ****Finished calling Contacts, Contacts Phone and Contacts Email API****", false); ///* //Family Member Information Section over //*/ //string emailres = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/member_email_addresses/search?member_id=" + teammembers.member_id); //RootObjectMemberEmail rmemberemail = MemberEmail.memberemailDataDeserializer(emailres); //if (rmemberemail.collection.items != null) //{ // for (int emaili = 0; emaili < rmemberemail.collection.items[0].data.Count; emaili++) // { // if (rmemberemail.collection.items[0].data[emaili].name == "email") // { // teammembers.email_address = (string)rmemberemail.collection.items[0].data[emaili].value; // Debug.WriteLine(teammembers.member_id); // break; // } // } //} //else //{ // teammembers.email_address = null; //} //string phoneres = await LibraryAPI.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/member_phone_numbers/search?member_id=" + teammembers.member_id); //RootObjectMemberPhone rmemberphone = MemberPhone.memberPhoneDataDeserializer(phoneres); //if (rmemberphone.collection.items != null) //{ // for (int phonei = 0; phonei < rmemberphone.collection.items[0].data.Count; phonei++) // { // if (rmemberphone.collection.items[0].data[phonei].name == "phone_number") // { // Debug.WriteLine(teammembers.first_name + " " + teammembers.last_name + " of team " + teamsCollection.name + " has a phone number : " + (string)rmemberphone.collection.items[0].data[phonei].value); // teammembers.phone_number = (string)rmemberphone.collection.items[0].data[phonei].value; // break; // } // } //} //else //{ // Debug.WriteLine(teammembers.first_name + " " + teammembers.last_name + " of team " + teamsCollection.name + " doesn't have a phone number"); // teammembers.phone_number = null; //} teammembers.fullname = teammembers.first_name + (teammembers.last_name == null ? "" : (" " + teammembers.last_name)); Debug.WriteLine("Member ID : " + teammembers.member_id); await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Updating member_photos", false); //teammembers.member_photo = "images/member_photo.png"; bool memberPhotofound = false; Debug.WriteLine("Running through all the links to find rel member_photo"); for (int m = 0; m < rmembers.collection.items[j].links.Count; m++) { //Debug.WriteLine("rel : " + rmembers.collection.items[j].links[m].rel); //Debug.WriteLine("m : " + m); if (rmembers.collection.items[j].links[m].rel == "member_photo") { memberPhotofound = true; //Debug.WriteLine("Member Photo Exists"); Debug.WriteLine(rmembers.collection.items[j].links[m].href); string teammembers_member_photo = (string)rmembers.collection.items[j].links[m].href; //string flname = (teammembers.member_id).ToString() if (await checkIfFileExists("fileUserClass.txt")) { //teammembers.member_photo = "images/member_photo.jpg"; RootObjectUsers rtempuser = new RootObjectUsers(); string re = await mlb.readSerializedUserClass(); try { rtempuser = Users.usersDataDeserializer(re); } catch (Exception ex) { Debug.WriteLine("failed to deserialize data"); await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Failed to deserialize data", true); } for (int h = 0; h < rtempuser.teams.Count; h++) { if (rtempuser.teams[h].id == teamsCollection.id) { for (int ih = 0; ih < rtempuser.teams[h].members.Count; ih++) { if (rtempuser.teams[h].members[ih].member_id == teammembers.member_id) { ///////////////Future bug here. teammembers.updated_at has min value if (DateTime.Compare(rtempuser.teams[h].members[ih].updated_at, teammembers.updated_at) < 0) { try { await downloadImage(teammembers_member_photo, "member" + (teammembers.member_id).ToString()); teammembers.member_photo = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + "_scaled.png"; teammembers.member_photo_notscaled = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + ".png"; } catch (Exception ex) { Debug.WriteLine("Failed to download images"); teammembers.member_photo = "images/member_photo.png"; teammembers.member_photo_notscaled = "images/member_photo.png"; await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Failed to download image", false); } } else { if (await checkIfFileExists("member" + (teammembers.member_id).ToString() + "_scaled.png")) { teammembers.member_photo = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + "_scaled.png"; teammembers.member_photo_notscaled = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + ".png"; } else { teammembers.member_photo = "images/member_photo.png"; teammembers.member_photo_notscaled = "images/member_photo.png"; } } } } } } } else { try { Debug.WriteLine("teammembers_member_photo : " + teammembers_member_photo); await downloadImage(teammembers_member_photo, "member" + (teammembers.member_id).ToString()); teammembers.member_photo = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + "_scaled.png"; teammembers.member_photo_notscaled = "ms-appdata:///local/member" + (teammembers.member_id).ToString() + ".png"; } catch (Exception ex) { Debug.WriteLine("Failed to download image"); teammembers.member_photo = "images/member_photo.png"; teammembers.member_photo_notscaled = "images/member_photo.png"; await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": Failed to download image", false); } } } } Debug.WriteLine("Photo Found : " + memberPhotofound); if(memberPhotofound == false) { Debug.WriteLine("Adding default photos to the teammembers link"); teammembers.member_photo = "images/member_photo.png"; teammembers.member_photo_notscaled = "images/member_photo.png"; Debug.WriteLine("Finished adding default photos to the teammembers link"); } //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": All member photos have been updated"); Debug.WriteLine("Adding members to teamcollection"); teamsCollection.members.Add(teammembers); rmember_ht.Clear(); } } Debug.WriteLine("Adding teamCollection to rusers"); rusers.teams.Add(teamsCollection); //await mlb.writeToLogFile((DateTime.UtcNow).ToString() + ": teamCollection added to userClass"); rteam_ht.Clear(); rteamlinks_ht.Clear(); Debug.WriteLine("Done adding teamcollection to rusers"); //rsports_ht.Clear(); } await updateAvailability(rusers); Debug.WriteLine("MethodLibrary : End rTeam."); rsports_ht.Clear(); Debug.WriteLine("returning users"); return rusers; }
public static string collectionUsersTeamDataSerializer(CollectionUsersTeam rusersteam) { string response = JsonConvert.SerializeObject(rusersteam); return response; }
/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { cal.Clear(); calAllEvents.Clear(); pivotSchedule.SelectedIndex = 0; UpcomingRectangle.Visibility = Visibility.Visible; CollectionUsersTeam ruserteam = new CollectionUsersTeam(); if (e.Parameter != null) { ruserteam = (CollectionUsersTeam)e.Parameter; string response = Users.collectionUsersTeamDataSerializer(ruserteam); await mlibrary.writeFile("CollectionUsersTeam", response); } else { string response = await mlibrary.readFile("CollectionUsersTeam"); ruserteam = Users.collectionUsersTeamDataDeserializer(response); } //updateAvailability(); teamid = ruserteam.id; ruserteam.calendar = new List<Calendar>(); string eventsLink = (string)ruserteam.eventsLink; // myProgressRing.IsActive = true; Library_APICall apic = new Library_APICall(); Debug.WriteLine(eventsLink); string flname = "events_" + ruserteam.id; Debug.WriteLine(flname); string res = await mlibrary.readFile(flname); try { if (res == "fail") { Debug.WriteLine("Network Problems"); networkproblems = true; } else { methodLibrary ml = new methodLibrary(); RootObjectEvents revents = Events.eventsDataDeserializer(res); if (revents.collection.items != null) { //YesCalendarPage.Visibility = Visibility.Visible; //AddNewEvent.Visibility = Visibility.Visible; //temp NoCalendarPage.Visibility = Visibility.Collapsed; calendarfound = true; Dictionary<string,int> revent_ht = new Dictionary<string, int>(); for (int i = 0; i < revents.collection.items.Count; i++) { for (int j = 0; j < revents.collection.items[i].data.Count; j++) { revent_ht.Add(revents.collection.items[i].data[j].name, j); } Calendar revent_item = new Calendar(); long locationid = (long)revents.collection.items[i].data[(int)revent_ht["location_id"]].value; string locationAPI = "https://api.teamsnap.com/v3/locations/" + locationid.ToString(); //string locationres = await apic.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], locationAPI); string locationres = await mlibrary.readFile("locations_" + ruserteam.id); RootObjectLocation rlocation = locations.locationDataDeserializer(locationres); int pos = 0; for (int m = 0; m < rlocation.collection.items.Count; m++) { if (rlocation.collection.items[m].href == locationAPI) { pos = m; break; } } Dictionary<string, int> location_ht = new Dictionary<string, int>(); for (int l = 0; l < rlocation.collection.items[pos].data.Count; l++) { location_ht.Add(rlocation.collection.items[pos].data[l].name, l); } revent_item.locationAddress = (string)rlocation.collection.items[pos].data[(int)location_ht["address"]].value; revent_item.locationName = (string)rlocation.collection.items[pos].data[(int)location_ht["name"]].value; revent_item.locationNotes = (string)rlocation.collection.items[pos].data[(int)location_ht["notes"]].value; revent_item.locationPhone = (string)rlocation.collection.items[pos].data[(int)location_ht["phone"]].value; revent_item.name = (string)revents.collection.items[i].data[(int)revent_ht["name"]].value; revent_item.team_id = teamid; revent_item.game_type = revents.collection.items[i].data[(int)revent_ht["game_type"]].value == null ? null : (string)revents.collection.items[i].data[(int)revent_ht["game_type"]].value; revent_item.uniform = revents.collection.items[i].data[(int)revent_ht["uniform"]].value == null ? null : (string)revents.collection.items[i].data[(int)revent_ht["uniform"]].value; if (revents.collection.items[i].data[(int)revent_ht["opponent_id"]].value == null) { revent_item.opponent_id = null; } else { revent_item.opponent_id = (revents.collection.items[i].data[(int)revent_ht["opponent_id"]].value).ToString(); //string opponentres = await apic.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/opponents/" + revent_item.opponent_id); string opponentres = await mlibrary.readFile("opponents_" + ruserteam.id); RootObjectOpponent ropponent = Opponent.opponentDataDeserializer(opponentres); // Use opponent ID to find opponent name pos = 0; for (int m = 0; m < ropponent.collection.items.Count; m++) { if (ropponent.collection.items[m].href == ("https://api.teamsnap.com/v3/opponents/" + revent_item.opponent_id)) { pos = m; break; } } Debug.WriteLine(pos); for (int len = 0; len < ropponent.collection.items[pos].data.Count; len++) { if (ropponent.collection.items[pos].data[len].name == "name") { revent_item.game_title = "vs " + (string)ropponent.collection.items[pos].data[len].value; break; } } } // done //revent_item.opponent_id = (string)(revents.collection.items[i].data[(int)revent_ht["opponent_id"]].value).ToString(); revent_item.id = (long)revents.collection.items[i].data[(int)revent_ht["id"]].value; revent_item.additional_location_details = (string)revents.collection.items[i].data[(int)revent_ht["additional_location_details"]].value; revent_item.arrival_date = revents.collection.items[i].data[(int)revent_ht["arrival_date"]].value == null ? DateTime.MinValue : ((DateTime)revents.collection.items[i].data[(int)revent_ht["arrival_date"]].value).ToLocalTime(); revent_item.arrival_time = revent_item.arrival_date.ToString("hh:mm tt"); revent_item.division_location_id = (string)revents.collection.items[i].data[(int)revent_ht["division_location_id"]].value; revent_item.duration_in_minutes = revents.collection.items[i].data[(int)revent_ht["duration_in_minutes"]].value == null ? 0 : (long)revents.collection.items[i].data[(int)revent_ht["duration_in_minutes"]].value; //revent_item.end_Date = (DateTime)revents.collection.items[i].data[(int)revent_ht["end_date"]].value; if (revents.collection.items[i].data[(int)revent_ht["end_date"]].value != null) { revent_item.end_Date = ((DateTime)revents.collection.items[i].data[(int)revent_ht["end_date"]].value).ToLocalTime(); } else { revent_item.end_Date = DateTime.MinValue; } revent_item.formatted_results = (string)revents.collection.items[i].data[(int)revent_ht["formatted_results"]].value; revent_item.game_type = (string)revents.collection.items[i].data[(int)revent_ht["game_type"]].value; revent_item.is_game = revents.collection.items[i].data[(int)revent_ht["is_game"]].value == null ? false : (bool)revents.collection.items[i].data[(int)revent_ht["is_game"]].value; revent_item.is_tbd = revents.collection.items[i].data[(int)revent_ht["is_tbd"]].value == null ? false : (bool)revents.collection.items[i].data[(int)revent_ht["is_tbd"]].value; revent_item.label = (string)revents.collection.items[i].data[(int)revent_ht["label"]].value; revent_item.location_id = revents.collection.items[i].data[(int)revent_ht["location_id"]].value == null ? 0 : (long)revents.collection.items[i].data[(int)revent_ht["location_id"]].value; revent_item.minutes_to_arrive_early = revents.collection.items[i].data[(int)revent_ht["minutes_to_arrive_early"]].value == null ? 0 : (long)revents.collection.items[i].data[(int)revent_ht["minutes_to_arrive_early"]].value; revent_item.name = (string)revents.collection.items[i].data[(int)revent_ht["name"]].value; revent_item.notes = (string)revents.collection.items[i].data[(int)revent_ht["notes"]].value; revent_item.start_date = revents.collection.items[i].data[(int)revent_ht["start_date"]].value == null ? DateTime.MinValue : ((DateTime)revents.collection.items[i].data[(int)revent_ht["start_date"]].value).ToLocalTime(); revent_item.time_zone = (string)revents.collection.items[i].data[(int)revent_ht["time_zone"]].value; revent_item.updated_at = revents.collection.items[i].data[(int)revent_ht["updated_at"]].value == null ? DateTime.MinValue : (DateTime)revents.collection.items[i].data[(int)revent_ht["updated_at"]].value; revent_item.eventDay = revent_item.start_date.ToString("dd"); revent_item.eventMonth = revent_item.start_date.ToString("MMMM"); revent_item.dddFormat = (revent_item.start_date.ToString("ddd")).ToUpper(); revent_item.eventTime = revent_item.start_date.ToString("hh:mm tt");//revent_item.start_date.Hour.ToString() + ":" + revent_item.start_date.Minute.ToString() + " " + revent_item.start_date.ToString("tt"); revent_ht.Clear(); location_ht.Clear(); if (DateTime.Compare(revent_item.start_date, (DateTime.Now).AddDays(-3)) > 0) // if there is a start date and no end date { cal.Add(revent_item); } calAllEvents.Add(revent_item); } if (cal.Count < 1) { //Meaning no future events, but there are past events scheduleView.Visibility = Visibility.Visible; PivotHeaderGrid.Visibility = Visibility.Visible; noUpcomingEvents.Visibility = Visibility.Visible; noEvents.Visibility = Visibility.Collapsed; } else { MyCalendarListViewUpcomingEvents.Visibility = Visibility.Visible; scheduleView.Visibility = Visibility.Visible; PivotHeaderGrid.Visibility = Visibility.Visible; noUpcomingEvents.Visibility = Visibility.Collapsed; noEvents.Visibility = Visibility.Collapsed; } } else { //tempYesCalendarPage.Visibility = Visibility.Collapsed; //AddNewEvent.Visibility = Visibility.Collapsed; //temp NoCalendarPage.Visibility = Visibility.Visible; //temp noCalendarFlipViewButtons.Visibility = Visibility.Collapsed; //temp MyCalendarListViewAllEventsNoCalendar.Visibility = Visibility.Collapsed; scheduleView.Visibility = Visibility.Collapsed; PivotHeaderGrid.Visibility = Visibility.Collapsed; noEvents.Visibility = Visibility.Visible; calendarfound = false; } ApplicationData.Current.LocalSettings.Values["eventTemplateFile"] = "eventTemplate.txt"; await mlibrary.writeFile((string)ApplicationData.Current.LocalSettings.Values["eventTemplateFile"], res); } } catch (Exception ex) { Debug.WriteLine(ex); } //myProgressRing.IsActive = false; if (calendarfound == false) { //temp YesCalendarPage.Visibility = Visibility.Collapsed; //temp NoCalendarPage.Visibility = Visibility.Visible; //temp noCalendarFlipViewButtons.Visibility = Visibility.Collapsed; //temp MyCalendarListViewAllEventsNoCalendar.Visibility = Visibility.Collapsed; } Debug.WriteLine(cal.Count); Debug.WriteLine(calAllEvents.Count); MyCalendarListViewAllEvents.DataContext = this; MyCalendarListViewUpcomingEvents.DataContext = this; //temp Debug.WriteLine("MyCalendarListView Visibility : " + (MyCalendarListView.Visibility).ToString()); //temp MyCalendarListView.DataContext = this; //temp MyCalendarListViewAllEvents.DataContext = this; }