Example #1
0
        private async Task HandleLogin()
        {
            var token = await RequestToken();

            if (token != null)
            {
                // save token and continue
                SaveContext(Email, token, true, null);

                var currentContext = GetContext();

                var synchronizer = new Domain.Services.Sync.Synchronizer();
                await synchronizer.SyncAllAndWait();

                var membersRealm = new Domain.Services.Realms.Members();
                var profile      = GetCurrentUser().Profile;
                var member       = membersRealm.Get(x => x.Profile == profile);
                currentContext.SchoolName = member.School.Name;
                SaveContext(currentContext);

                Application.Current.Properties["Context"] = JsonConvert.SerializeObject(currentContext);

                App.LaunchMasterDetailPage?.Invoke(this, EventArgs.Empty);
            }
            else
            {
                DisplayAlert("Login failed", "Either wrong credentials or no such user.");
            }
        }
Example #2
0
        private async void Save()
        {
            if (!IsValidInput())
            {
                DisplayAlert("Invalid input", "Cannot be empty.");
                return;
            }

            var membersRealm = new Domain.Services.Realms.Members();
            await EvaluationsRealm.WriteAsync(realm =>
            {
                var eval  = IsEditingExistingEvaluation ? realm.Get(EvaluationLocalId) : realm.CreateObject();
                eval.Name = Name;
                if (!IsEditingExistingEvaluation)
                {
                    eval.Member = membersRealm.Get(MemberLocalId);
                }
                eval.Synced = false;
            });

            var synchronizer = new Domain.Services.Sync.Synchronizer();

            synchronizer.SyncPostsAndContinue();

            await LeavePage();
        }
Example #3
0
        public Domain.Models.Member GetCurrentMember()
        {
            var currentUser  = GetCurrentUser();
            var membersRealm = new Domain.Services.Realms.Members();
            var profile      = currentUser.Profile;
            var member       = membersRealm.Get(x => x.Profile == profile);

            return(member);
        }
Example #4
0
        public bool UserIsTeacher()
        {
            var currentUser  = GetCurrentUser();
            var membersRealm = new Domain.Services.Realms.Members();
            var profile      = currentUser.Profile;
            var member       = membersRealm.Get(x => x.Profile == profile);

            return(member.IsTeacher);
        }
Example #5
0
        public override void RefreshData()
        {
            var profileModel   = GetCurrentUser().Profile;
            var membersRealm   = new Domain.Services.Realms.Members();
            var memberModel    = membersRealm.Get(x => x.Profile == profileModel);
            var evals          = EvaluationsRealm.GetAll(x => x.Member == memberModel).ToList();
            var evalsContainer = new List <ViewModels.Controls.PrettyListViewItems.Evaluation>();

            foreach (var evalModel in evals)
            {
                evalsContainer.Add(new ViewModels.Controls.PrettyListViewItems.Evaluation(evalModel));
            }
            EvaluationsList.Clear();
            EvaluationsList.AddRange(evalsContainer);
        }
Example #6
0
        private async Task <Domain.Models.Member> SaveMember(Domain.Models.Member memberModel, Domain.Models.School school, Domain.Models.Profile profile)
        {
            var membersRealm   = new Domain.Services.Realms.Members();
            var profilesRealm  = new Domain.Services.Realms.Profiles();
            var schoolsRealm   = new Domain.Services.Realms.Schools();
            var profileLocalId = profile.LocalId;
            var schoolLocalId  = school.LocalId;
            var memberLocalId  = 0;
            await membersRealm.WriteAsync(realm =>
            {
                realm.Manage(memberModel);
                memberLocalId       = memberModel.LocalId;
                memberModel.Profile = profilesRealm.Get(profileLocalId);
                memberModel.School  = schoolsRealm.Get(schoolLocalId);
                memberModel.Synced  = true;
            });

            var member = membersRealm.Get(memberLocalId);

            return(member);
        }
 private async void AddEvaluation()
 {
     var membersRealm = new Domain.Services.Realms.Members();
     var member       = membersRealm.Get(x => x.Profile == ProfileModel);
     await Navigator.PushNewEvaluationEditorPageAsync(Navigation, member.LocalId);
 }