private async void SaveClass() { if (!IsValidInput()) { DisplayAlert("Invalid input", "Cannot be empty."); return; } var classesRealm = new Domain.Services.Realms.Classes(); await classesRealm.WriteAsync(realm => { var classModel = IsNewClass ? realm.CreateObject() : realm.Get(ClassLocalId); classModel.Name = ClassName; classModel.Day = Days[DaysIndex]; var startTime = new DateTimeOffset(1, 1, 1, StartTime.Hours, StartTime.Minutes, StartTime.Seconds, TimeSpan.Zero); classModel.StartTime = startTime.UtcDateTime.Date; var endTime = new DateTimeOffset(1, 1, 1, EndTime.Hours, EndTime.Minutes, EndTime.Seconds, TimeSpan.Zero); classModel.EndTime = endTime.UtcDateTime.Date; classModel.School = GetCurrentSchool(); classModel.Synced = false; }); var synchronizer = new Domain.Services.Sync.Synchronizer(); synchronizer.SyncPostsAndContinue(); await Navigator.PopAsync(Navigation); }
public void Initialize(int classLocalId) { var classesRealm = new Domain.Services.Realms.Classes(); var existingClass = classesRealm.Get(classLocalId); ClassName = existingClass.Name; DaysIndex = Days.IndexOf(existingClass.Day); StartTime = new TimeSpan(existingClass.StartTime.Hour, existingClass.StartTime.Minute, 0); EndTime = new TimeSpan(existingClass.EndTime.Hour, existingClass.EndTime.Minute, 0); IsNewClass = false; ClassLocalId = classLocalId; }