Esempio n. 1
0
        private IEnumerable <string> GetRoleNamesFor(EKontoUserSession eKontoUserSession)
        {
            var roles = new List <string>();

            if (IsDeanEmployee(eKontoUserSession))
            {
                roles.Add("Dean");
            }
            else if (IsPromoter(eKontoUserSession.user))
            {
                roles.Add("Promoter");
            }
            return(roles);
        }
Esempio n. 2
0
        private async Task <User> CreateOrUpdateUserFrom(EKontoUserSession eKontoUserSession)
        {
            var eKontoUser   = eKontoUserSession.user;
            var roleNames    = GetRoleNamesFor(eKontoUserSession);
            var existingUser = await _userManager.FindByIdAsync(eKontoUser.id.ToString());

            if (existingUser == null)
            {
                return(await CreateUserFrom(eKontoUser, roleNames));
            }
            else
            {
                return(await UpdateUser(existingUser, eKontoUser, roleNames));
            }
        }
Esempio n. 3
0
        private bool IsDeanEmployee(EKontoUserSession eKontoUserSession)
        {
            if (eKontoUserSession.user.loginDomain != "put.poznan.pl")
            {
                return(false);
            }
            var userEKontoGroups = _eKontoClient.GetUserGroups(eKontoUserSession.identifier);

            foreach (var eKontoGroup in userEKontoGroups)
            {
                if (DeaneryEKontoGroupIds.ContainsKey(eKontoGroup.id))
                {
                    return(true);
                }
            }
            return(false);
        }