public int GetOrAdd(IDbConnection connection, string authId, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); int val; _storage.TryGetValue(authId, out val); if (val != 0) { return(val); } var cacheUser = cache.LocalOperation(connection, col => col.FirstOrDefault(i => i.AuthId == authId)); if (cacheUser != null && cacheUser.Id != 0) { return(_storage.AddOrUpdateSimple(cacheUser.AuthId, cacheUser.Id)); } var repo = cache.GetRepository(); var tableName = repo.SchemeTableName; var sql = $"SELECT TOP(1) * FROM {tableName} WHERE authId=@authId"; var user = repo.Provider.Text <user>(connection, sql, new { authId }).ToList(); if (user.Any()) { var u = user.First(); cache.UpdateLocalItem(connection, repo.ConvertToWorkModel(u)); return(_storage.AddOrUpdateSimple(u.authId, u.Id)); } return(0); }
public MainInitializer(IAllianceInitializer allianceInitializer, IMapGInitializer mapGInitializer, IAuthUsersInitializer authUsersInitializer, IGameUserService gameUserService, INpcInitializer npcInitializer, IUserInitializer userInitializer, IUserNameSercherPkCache userNameSercherPkCache, IUserLocalStorageCache userCache, IUserRepository userRepo, IAllianceService allianceService, IChannelService channelService, IDbProvider provider) { _allianceInitializer = allianceInitializer; _mapGInitializer = mapGInitializer; _authUsersInitializer = authUsersInitializer; _gameUserService = gameUserService; _npcInitializer = npcInitializer; _userInitializer = userInitializer; _userNameSercherPkCache = userNameSercherPkCache; _userCache = userCache; _userRepo = userRepo; _allianceService = allianceService; _provider = provider; _channelService = (ChannelService)channelService; _admUser = MainUserRepository.GetAdminUser(); _textUser = MainUserRepository.GetTextureUser(); _demoUser = MainUserRepository.GetUser(MainUserRepository.DemoUserName); }
public HomeController(IServiceProvider serviceProvider) : base(serviceProvider) { _fs = _svp.GetService <IFileStorage>(); _storeService = _svp.GetService <IStoreService>(); _userAuthToGameCache = _svp.GetService <IUserAuthToGameCache>(); _userChache = _svp.GetService <IUserLocalStorageCache>(); }
public int TryGetValue(IDbConnection connection, string authId, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); int id; _storage.TryGetValue(authId, out id); return(id); }
public GameUserService(IUserRepository userRepo, IAllianceService allianceService, IUserLocalStorageCache userCache, IUserAuthToGameCache userAuthToGameIdCache, IUserNameSercherPkCache userNameSercherPkCache, IGDetailPlanetService planetService, IServiceProvider svp) { _userRepo = userRepo; _allianceService = allianceService; _userCache = userCache; _userAuthToGameIdCache = userAuthToGameIdCache; _userNameSercherPkCache = userNameSercherPkCache; _planetService = planetService; _svp = svp; }
private void _checkAndInit(IDbConnection connection, IUserLocalStorageCache cache) { if (!Equals(_cache, cache)) { _cache = cache; } if (_storage == null) { var users = cache.LocalGetAll(connection); if (users != null && users.Any()) { _storage = new ConcurrentDictionary <string, int>(users.ToDictionary(i => i.Nickname, i => i.Id)); } else { _storage = new ConcurrentDictionary <string, int>(); } } }
public bool TryUpdateKey(IDbConnection connection, int userId, string oldUserName, string newUserName, IUserLocalStorageCache cache, bool updateParentCahce = true) { _checkAndInit(connection, cache); int id; if (!_storage.TryUpdateKey(oldUserName, newUserName, out id)) { return(false); } if (!updateParentCahce) { return(true); } var user = cache.GetById(connection, id, true); user.Nickname = newUserName; var result = cache.UpdateLocalItem(connection, user); return(result.Nickname == newUserName); }
public int GetOrAdd(IDbConnection connection, string userName, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); int val; _storage.TryGetValue(userName, out val); if (val != 0) { return(val); } var cacheUser = cache.LocalOperation(connection, col => col.FirstOrDefault(i => i.Nickname == userName)); if (cacheUser != null && cacheUser.Id != 0) { return(_storage.AddOrUpdateSimple(cacheUser.Nickname, cacheUser.Id)); } var repo = cache.GetRepository(); var tableName = repo.SchemeTableName; var sql = $"SELECT TOP(1) * FROM {tableName} WHERE nickname=@userName"; var user = repo.Provider.Text <user>(connection, sql, new { userName }).Single(); cache.UpdateLocalItem(connection, repo.ConvertToWorkModel(user)); return(_storage.AddOrUpdateSimple(user.authId, user.Id)); }
public bool TryUpdateKey(IDbConnection connection, int pkId, string oldKeyName, string newKeyName, IUserLocalStorageCache cache, bool updateParentCahce = true) => throw new NotImplementedException();
public List <string> GetAllKeys(IDbConnection connection, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); return(_storage.GetKeys()); }
TryFind(IDbConnection connection, string partName, IUserLocalStorageCache cache) => throw new NotImplementedException();
public int AddOrUpdate(IDbConnection connection, string authId, int userId, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); return(_storage.AddOrUpdateSimple(authId, userId)); }
public Dictionary <string, int> TryFind(IDbConnection connection, string partName, IUserLocalStorageCache cache) { if (string.IsNullOrWhiteSpace(partName)) { throw new NullReferenceException(nameof(partName)); } var keys = GetAllKeys(connection, cache); var contain = keys.Where(i => i.IndexOf(partName, StringComparison.OrdinalIgnoreCase) != -1).ToList(); var result = new Dictionary <string, int>(); foreach (var i in contain) { int id; _storage.TryGetValue(i, out id); result.Add(i, id); } return(result); }
public List <string> GetAllKeys(IDbConnection connection, IUserLocalStorageCache cache) { _checkAndInit(connection, cache); return(_storage.Select(i => i.Key).ToList()); }