public async Task<MembersReport> RefreshClubMembers()
 {
     MembersReport membersReport;
     var responseMessage = await ExecuteMembersRequest();
     var xml = await responseMessage.Content.ReadAsStringAsync();
     if (responseMessage.StatusCode == HttpStatusCode.InternalServerError && xml.Contains("InvalidSessionFault"))
     {
         var report = await _authenticationService.LoginWithStoredCredentials();
         if (report.Successful)
             await RefreshClubMembers();
         else
         {
             membersReport = new MembersReport(false, null) { Error = report.Error };
             return membersReport;
         }
     }
     XmlDocument doc = new XmlDocument();
     doc.LoadXml(xml);
     var members = new List<Member>();
     var nodeList = doc.GetElementsByTagName("b:MemberIdentification");
     foreach (var memberNode in nodeList)
     {
         var node = memberNode.ChildNodes.FirstOrDefault(c => c.NodeName == "Name");
         members.Add(new Member(node.InnerText));
     }
     var storageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("members.txt", CreationCollisionOption.OpenIfExists);
     await FileIO.WriteTextAsync(storageFile, JsonConvert.SerializeObject(members));
     membersReport = new MembersReport(true, members);
     return membersReport;
 }
 public async Task<MembersReport> RetrieveClubMembers()
 {
     var storageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("members.txt", CreationCollisionOption.OpenIfExists);
     var json = await FileIO.ReadTextAsync(storageFile);
     var members = JsonConvert.DeserializeObject<List<Member>>(json);
     var membersReport = new MembersReport(true, members);
     return membersReport;
 }