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); }
private async Task <Domain.Models.Member> PostMember(Domain.Models.School school, Domain.Models.Profile profile) { var membersRestService = new Domain.Services.Rest.Members(); var member = new Domain.Models.Member { ProfileId = profile.Id, SchoolId = school.Id }; var response = await membersRestService.PostAsync(member, GetContext().AccessToken.Access_Token); var result = await membersRestService.ParseResponseItem(response); return(result); }
private async Task <Domain.Models.School> SaveSchool(Domain.Models.School school) { var schoolsRealm = new Domain.Services.Realms.Schools(); var schoolLocalId = 0; await schoolsRealm.WriteAsync(realm => { realm.Manage(school); schoolLocalId = school.LocalId; school.Synced = true; }); var savedProfile = schoolsRealm.Get(schoolLocalId); return(savedProfile); }
private async Task <Domain.Models.School> SaveSchool(Domain.Models.School school) { var schoolsRealm = new Domain.Services.Realms.Schools(); var schoolRemoteId = school.Id; var schoolLocalId = 0; await schoolsRealm.WriteAsync(realm => { var localSchool = realm.Get(x => x.Id == schoolRemoteId); if (localSchool == null) { realm.Manage(school); school.Synced = true; schoolLocalId = school.LocalId; } else { schoolLocalId = localSchool.LocalId; } }); var theSchool = schoolsRealm.Get(schoolLocalId); return(theSchool); }
// user => member // profile => school private async Task <Domain.Models.Member> SaveMember(Domain.Models.Member memberModel, Domain.Models.Profile profileModel, Domain.Models.School schoolModel) { var membersRealm = new Domain.Services.Realms.Members(); var profilesRealm = new Domain.Services.Realms.Profiles(); var schoolsRealm = new Domain.Services.Realms.Schools(); var memberLocalId = 0; var profileLocalId = profileModel.LocalId; var schoolLocalId = schoolModel.LocalId; await membersRealm.WriteAsync(realm => { realm.Manage(memberModel); memberModel.Profile = profilesRealm.Get(profileLocalId); memberModel.ProfileId = memberModel.Profile.Id; memberModel.School = schoolsRealm.Get(schoolLocalId); memberModel.SchoolId = memberModel.School.Id; memberLocalId = memberModel.LocalId; memberModel.Synced = true; }); var savedMember = membersRealm.Get(memberLocalId); return(savedMember); }
public School() { IsEditingExistingSchool = true; SchoolModel = new Domain.Models.School(); }
protected void LoadDummyData() { var instance = Realm.GetInstance(); instance.Write(() => instance.RemoveAll()); var standingsRealm = new Domain.Services.Realms.StandingsRealm(); standingsRealm.Write(() => { var standings = new List <Domain.Models.Standing>() { new Standing() { Title = "HeadInstructor", Level = 1 }, new Standing() { Title = "Instructor", Level = 2 }, new Standing() { Title = "Student", Level = 3 } }; standingsRealm.AddAll(standings.AsQueryable()); }); var usersRealm = new Domain.Services.Realms.UsersRealm(); usersRealm.Write(() => { var user = new Domain.Models.User() { Username = "******" }; usersRealm.Add(user); }); var schoolsRealm = new Domain.Services.Realms.SchoolsRealm(); schoolsRealm.Write(() => { var school = new Domain.Models.School() { Name = "STVTO" }; schoolsRealm.Add(school); }); var profilesRealm = new Domain.Services.Realms.ProfilesRealm(); profilesRealm.Write(() => { var currentUser = usersRealm.Get(x => x.Username == "*****@*****.**"); var profiles = new List <Domain.Models.Profile>() { new Profile() { ContactInfo = new ContactInfo() { FirstName = "John", LastName = "Doe", Email = "*****@*****.**", PhoneNumber = "613456789" }, IsActive = true, }, new Profile() { ContactInfo = new ContactInfo() { FirstName = "Krit", LastName = "Mangy", Email = "*****@*****.**", PhoneNumber = "613456789" }, IsActive = true, }, new Profile() { ContactInfo = new ContactInfo() { FirstName = "Harriet", LastName = "Doe", Email = "*****@*****.**", PhoneNumber = "613456789" }, IsActive = true, }, new Profile() { ContactInfo = new ContactInfo() { FirstName = "Marge", LastName = "Doe", Email = "*****@*****.**", PhoneNumber = "613456789" }, IsActive = false, } }; var profilesAdded = profilesRealm.AddAll(profiles.AsQueryable()); var currentProfile = profilesAdded.FirstOrDefault(); currentProfile.User = currentUser; var currentSchool = schoolsRealm.Get(x => x.Name == "STVTO"); foreach (var profile in profilesAdded) { profile.School = currentSchool; } }); var contactInfosRealm = new ContactInfosRealm(); var ranksRealm = new Domain.Services.Realms.RanksRealm(); ranksRealm.Write(() => { var rank = new Rank() { Name = "Red", Level = 1, AchievementDate = DateTimeOffset.Now }; var rank1 = ranksRealm.Add(rank); var contactInfo1 = contactInfosRealm.Get(x => x.FirstName == "John"); rank1.Profile = profilesRealm.Get(x => x.ContactInfo == contactInfo1); rank = new Rank() { Name = "Green", Level = 2, AchievementDate = DateTimeOffset.Now }; var rank2 = ranksRealm.Add(rank); var contactInfo2 = contactInfosRealm.Get(x => x.FirstName == "Krit"); rank2.Profile = profilesRealm.Get(x => x.ContactInfo == contactInfo2); rank = new Rank() { Name = "Blue", Level = 3, AchievementDate = DateTimeOffset.Now }; var rank3 = ranksRealm.Add(rank); var contactInfo3 = contactInfosRealm.Get(x => x.FirstName == "Krit"); rank3.Profile = profilesRealm.Get(x => x.ContactInfo == contactInfo3); }); var classesRealm = new Domain.Services.Realms.ClassesRealm(); classesRealm.Write(() => { var classes = new List <Domain.Models.Class>() { new Class() { Name = "Beginner 1", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Beginner 2", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Beginner 3", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Intermediate 1", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Intermediate 2", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Advanced 1", DateTime = DateTimeOffset.Now, Minutes = 120, }, new Class() { Name = "Advanced 2", DateTime = DateTimeOffset.Now, Minutes = 120, } }; var school = schoolsRealm.Get(x => x.Name == "STVTO"); var classesAdded = classesRealm.AddOrUpdateAll(classes.AsQueryable()); foreach (var item in classesAdded) { item.School = school; } }); }