public async Task InsertOrUpdateAsync(IVkSessionInfo sessionInfo) { using (var context = new EFContext()) { if (sessionInfo == null) throw new ArgumentNullException(nameof(sessionInfo)); var oldSessionInfo = await context.SessionInfo.SingleOrDefaultAsync(x => x.UserId == sessionInfo.UserId); if (oldSessionInfo != null) { oldSessionInfo.AccessToken = sessionInfo.AccessToken; } else { var newSessionInfo = new VkSessionInfo { Id = Guid.NewGuid(), AccessToken = sessionInfo.AccessToken, UserId = sessionInfo.UserId }; context.SessionInfo.Add(newSessionInfo); } await context.SaveChangesAsync(); } }
public void Set(IVkSessionInfo sessionInfo) { if (sessionInfo == null) return; NhibernateService.Instance.CreateOrUpdateSingle(new VkSessionInfo { UserId = sessionInfo.UserId, AccessToken = sessionInfo.AccessToken, }, oldSessionInfo => { oldSessionInfo.UserId = sessionInfo.UserId; oldSessionInfo.AccessToken = sessionInfo.AccessToken; }); }
public void SaveToDB(IVkSessionInfo sessionInfo) { new SetVkSessionInfo().Set(sessionInfo); }