Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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;
                });
        }
Ejemplo n.º 3
0
 public void SaveToDB(IVkSessionInfo sessionInfo)
 {
     new SetVkSessionInfo().Set(sessionInfo);
 }