Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        // 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);
        }
Exemple #6
0
 public School()
 {
     IsEditingExistingSchool = true;
     SchoolModel             = new Domain.Models.School();
 }
Exemple #7
0
        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;
                }
            });
        }