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); }
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; } }); }