Пример #1
0
        public IUserAuth GetUserAuth(IAuthSession authSession, IAuthTokens tokens)
        {
            if (!string.IsNullOrEmpty(authSession.UserAuthId))
            {
                var userAuth = GetUserAuth(authSession.UserAuthId);
                if (userAuth != null)
                {
                    return(userAuth);
                }
            }

            if (!string.IsNullOrEmpty(authSession.UserAuthName))
            {
                var userAuth = GetUserAuthByUserName(authSession.UserAuthName);
                if (userAuth != null)
                {
                    return(userAuth);
                }
            }

            if (tokens == null || string.IsNullOrEmpty(tokens.Provider) || string.IsNullOrEmpty(tokens.UserId))
            {
                return(null);
            }

            var oAuthProvider = UserAuthDetailsRepository.Where(u => u.Provider == tokens.Provider && u.UserId == tokens.UserId)
                                .FirstOrDefault();

            if (oAuthProvider != null)
            {
                return(UserAuthRepository.GetById(oAuthProvider.UserAuthId));
            }
            return(null);
        }
Пример #2
0
        public void DeleteUserAuth(string userAuthId)
        {
            int userId = int.Parse(userAuthId);

            UserAuthRepository.Delete(userId);
            UserAuthDetailsRepository.Delete(UserAuthDetailsRepository.Where(u => u.UserAuthId == userId).SingleOrDefault());
        }
Пример #3
0
        public List <IUserAuthDetails> GetUserAuthDetails(string userAuthId)
        {
            int id    = int.Parse(userAuthId);
            var value = UserAuthDetailsRepository.Where(u => u.UserAuthId == id)
                        .OrderBy(u => u.ModifiedDate);

            return(value.Cast <IUserAuthDetails>().ToList());
        }
Пример #4
0
        public IUserAuthDetails CreateOrMergeAuthSession(IAuthSession authSession, IAuthTokens tokens)
        {
            var userAuth = GetUserAuth(authSession, tokens) ?? new JarsUserAuth();

            var authDetails = UserAuthDetailsRepository.Where(u => u.Provider == tokens.Provider && u.UserId == tokens.UserId)
                              .FirstOrDefault();

            if (authDetails == null)
            {
                authDetails = new JarsUserAuthDetails
                {
                    Provider = tokens.Provider,
                    UserId   = tokens.UserId,
                };
            }

            authDetails.PopulateMissing(tokens, overwriteReserved: true);
            userAuth.PopulateMissingExtended(authDetails);

            userAuth.ModifiedDate = DateTime.UtcNow;
            if (userAuth.CreatedDate == default(DateTime))
            {
                userAuth.CreatedDate = userAuth.ModifiedDate;
            }

            userAuth = UserAuthRepository.CreateUpdate(userAuth as JarsUserAuth, MODIEFIED_BY);

            authDetails.UserAuthId = userAuth.Id;

            authDetails.ModifiedDate = userAuth.ModifiedDate;
            if (authDetails.CreatedDate == default(DateTime))
            {
                authDetails.CreatedDate = userAuth.ModifiedDate;
            }

            authDetails = UserAuthDetailsRepository.CreateUpdate(authDetails, MODIEFIED_BY);

            return(authDetails);
        }