private async void Join() { var currentContext = GetContext(); // get school by name var schoolsRestService = new Domain.Services.Rest.Schools(); var postedSchool = await schoolsRestService.GetAsync(SchoolName, currentContext.AccessToken.Access_Token); if (postedSchool == null) { return; } currentContext.SchoolName = SchoolName; SaveContext(currentContext); var savedSchool = await SaveSchool(postedSchool); // get current profile var profile = GetCurrentUser().Profile; // post member var member = await PostMember(savedSchool, profile); // save member await SaveMember(member, savedSchool, profile); var synchronizer = new Domain.Services.Sync.Synchronizer(); await synchronizer.SyncAllAndWait(); // navigate to master detail page for students App.LaunchMasterDetailPage?.Invoke(this, EventArgs.Empty); }
private async Task <Domain.Models.School> PostSchool(string accessToken) { var schoolsRestService = new Domain.Services.Rest.Schools(); var mapper = new Domain.Utilities.PropertyMapper(); var schoolObject = new Domain.Models.School(); mapper.Map <Domain.Models.School>(SchoolModel, schoolObject); var httpResponse = await schoolsRestService.PostAsync(schoolObject, accessToken); var school = await schoolsRestService.ParseResponseItem(httpResponse); return(school); }