Ejemplo n.º 1
0
        private async Task <Domain.Models.Profile> SaveProfile(Domain.Models.Profile profile)
        {
            var profilesRealm  = new Domain.Services.Realms.Profiles();
            var profileLocalId = 0;
            await profilesRealm.WriteAsync(realm =>
            {
                realm.Manage(profile);
                profileLocalId = profile.LocalId;
                profile.Synced = true;
            });

            var savedProfile = profilesRealm.Get(profileLocalId);

            return(savedProfile);
        }
Ejemplo n.º 2
0
        public override void RefreshData()
        {
            var profilesRealm = new Domain.Services.Realms.Profiles();

            ProfileModel = profilesRealm.Get(ProfileLocalId);
            var membersRealm   = new Domain.Services.Realms.Members();
            var member         = membersRealm.Get(x => x.Profile == ProfileModel);
            var evals          = EvaluationsRealm.GetAll(x => x.Member == member).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);
        }
Ejemplo n.º 3
0
        private async Task <Domain.Models.User> SaveUser(Domain.Models.User userModel, Domain.Models.Profile profileModel)
        {
            var usersRealm     = new Domain.Services.Realms.Users();
            var profilesRealm  = new Domain.Services.Realms.Profiles();
            var userLocalId    = 0;
            var profileLocalId = profileModel.LocalId;
            await usersRealm.WriteAsync(realm =>
            {
                realm.Manage(userModel);
                userModel.Profile   = profilesRealm.Get(profileLocalId);
                userModel.ProfileId = userModel.Profile.Id;
                userLocalId         = userModel.LocalId;
                userModel.Synced    = true;
            });

            var savedUser = usersRealm.Get(userLocalId);

            return(savedUser);
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
        private async Task SaveExistingProfile()
        {
            if (!Validate())
            {
                return;
            }

            var profilesRealm  = new Domain.Services.Realms.Profiles();
            var profileLocalId = GetCurrentUser().Profile.LocalId;
            await profilesRealm.WriteAsync(realm =>
            {
                var profile = realm.Get(profileLocalId);
                var mapper  = new Domain.Utilities.PropertyMapper();
                mapper.Map <Domain.Models.Profile>(ProfileModel, profile);
                profile.Synced = false;
            });

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

            await Navigator.PopAsync(Navigation);
        }