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); }
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); }
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); }