Esempio n. 1
0
        private async Task <BudgetUser> GetUser(int userId)
        {
            var userCache = new UserCacheLogic(Cache);

            BudgetUser user = await userCache.GetUserFromCache(userId);

            if (user != null)
            {
                return(user);
            }

            user = await GetDBUser(userId);

            await userCache.AddUserToCache(user);

            return(user);
        }
Esempio n. 2
0
        public async Task ChangeUsername(int userId, string proposedUsername)
        {
            if (userId == 1)
            {
                throw new CallerException("Host username cannot be changed.");
            }

            UserLogic userLogic = new UserLogic(Cache, Context);

            BudgetUser originalUser = await userLogic.GetUserWithoutRelated(userId);

            if (originalUser == null)
            {
                throw new CallerException("Cannot find user.");
            }

            await ValidateUsername(proposedUsername);
            await UpdateUserRecordUsername(userId, proposedUsername);

            var userCacheLogic = new UserCacheLogic(Cache);
            await userCacheLogic.InvalidateUserCache(userId);
        }
Esempio n. 3
0
        public async Task <BudgetUser> GetUserWithoutRelated(int userId)
        {
            UserCacheLogic userCache = new UserCacheLogic(Cache);
            BudgetUser     user      = await userCache.GetUserFromCache(userId);

            if (user != null)
            {
                return(user);
            }

            var dbUser = await GetDBUser(userId);

            user = new BudgetUser()
            {
                UserId   = dbUser.UserId,
                Username = dbUser.Username
            };

            await userCache.AddUserToCache(user);

            return(user);
        }