Exemplo n.º 1
0
        public void RefreshData()
        {
            // get classes
            var schoolName       = GetUserContext().SchoolName;
            var schoolsRealm     = new Domain.Services.Realms.SchoolsRealm();
            var currentSchool    = schoolsRealm.Get(x => x.Name == schoolName);
            var classesRealm     = new Domain.Services.Realms.ClassesRealm();
            var classes          = classesRealm.GetAll(x => x.School == currentSchool).ToList();
            var classesContainer = new List <Domain.Models.Class>();

            var currentDate = SelectedDate;

            for (var i = 0; i < 7; i++)
            {
                // increase current date by one day
                currentDate = currentDate.AddDays(1);

                // loop through all classes
                foreach (var classModel in classes)
                {
                    // if class falls on the current date, add it to the list with the current date
                    if (classModel.DateTime.Day == currentDate.Day)
                    {
                        var classDate            = currentDate.UtcDateTime.Date;
                        var canceledClassesRealm = new Domain.Services.Realms.CanceledClassesRealm();
                        var canceledClass        = canceledClassesRealm.GetAll(x => x.Class == classModel)
                                                   .FirstOrDefault(x => x.Date == classDate);
                        var canceledRecordExists = canceledClass != null;
                        var isCanceled           = canceledRecordExists && canceledClass.IsCanceled;
                        classesContainer.Add(classModel);
                    }
                }
            }

            Classes.Clear();
            Classes.AddRange(classesContainer);
        }
Exemplo n.º 2
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;
                }
            });
        }