コード例 #1
0
        /// <summary>
        /// Get profile if <see cref="App.getProfileInfo" didn't have time to load./>
        /// </summary>
        /// <returns>Task.</returns>
        async Task getProfile()
        {
            var profile = await DataAccess.GetProfileInfo(PlatformServices.Preferences.UserLogin);

            AppUserData.SetProfileData(PlatformServices, profile);
            IsStudent = AppUserData.UserType == UserTypeEnum.Student;
        }
コード例 #2
0
ファイル: App.cs プロジェクト: TTcoinDeveloper/HomeSchool
        /// <summary>
        /// Gets user's profile info if authorized.
        /// </summary>
        /// <returns>Task.</returns>
        async Task getProfileInfo()
        {
            try {
                if (!_services.Preferences.IsLoggedIn)
                {
                    return;
                }

                var username = _services.Preferences.UserLogin;

                if (string.IsNullOrEmpty(username))
                {
                    return;
                }

                var profile = await DataAccess.GetProfileInfo(username);

                AppUserData.SetLoginData(_services, _services.Preferences.UserId, username);
                AppUserData.SetProfileData(_services, profile);
                _services.Preferences.GroupName = profile?.GroupName;
                _services.Preferences.Avatar    = profile?.Avatar;
            } catch (Exception ex) {
                AppLogs.Log(ex);
            }
        }
コード例 #3
0
        /// <summary>
        /// Gets profile data by username and user's ID and saves it.
        /// </summary>
        /// <param name="username">Username.</param>
        /// <returns>Task.</returns>
        async Task <UserProfileModel> getProfileData(string username)
        {
            var userProfile = await DataAccess.GetProfileInfo(username);

            AppUserData.SetProfileData(_services, userProfile);
            return(userProfile);
        }
コード例 #4
0
 public void SetProfileProfessorData()
 {
     AppUserData.SetProfileData(_mocked, _profile);
     Assert.AreEqual(_name, AppUserData.Name);
     Assert.AreEqual(_avatar, AppUserData.Avatar);
     Assert.AreEqual(_groupId, AppUserData.GroupId);
     Assert.AreEqual(_groupName, AppUserData.GroupName);
     Assert.AreEqual(true, AppUserData.IsProfileLoaded);
     Assert.AreEqual(UserTypeEnum.Professor, AppUserData.UserType);
 }
コード例 #5
0
 public void ClearTest()
 {
     AppUserData.SetProfileData(_mocked, _profile);
     AppUserData.Clear();
     Assert.AreEqual(0, AppUserData.UserId);
     Assert.AreEqual(null, AppUserData.Name);
     Assert.AreEqual(0, AppUserData.GroupId);
     Assert.AreEqual(null, AppUserData.Avatar);
     Assert.AreEqual(null, AppUserData.Username);
     Assert.AreEqual(null, AppUserData.GroupName);
     Assert.AreEqual(true, AppUserData.IsProfileLoaded);
     Assert.AreEqual(UserTypeEnum.Student, AppUserData.UserType);
 }
コード例 #6
0
        public void SetProfileStudentData()
        {
            var profile = _profile;

            profile.UserType = _userTypeStudent;
            AppUserData.SetProfileData(_mocked, profile);
            Assert.AreEqual(_name, AppUserData.Name);
            Assert.AreEqual(_avatar, AppUserData.Avatar);
            Assert.AreEqual(_groupId, AppUserData.GroupId);
            Assert.AreEqual(_groupName, AppUserData.GroupName);
            Assert.AreEqual(true, AppUserData.IsProfileLoaded);
            Assert.AreEqual(UserTypeEnum.Student, AppUserData.UserType);
        }
コード例 #7
0
 public void SetProfileDataNullTest()
 {
     AppUserData.SetProfileData(_mocked, null);
     Assert.AreEqual(false, AppUserData.IsProfileLoaded);
 }