Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
        }