private void UpdateAuditSession() { if (_user != null) { if (Audit == null) { var requestInfo = HttpContext.Current.Request; var audit = new SessionAudit { Agent = _user, Start = DateTime.Now, Browser = $"{requestInfo.Browser.Browser} {requestInfo.Browser.Version}", IPAddress = HttpRequestHelper.GetIP(requestInfo), OperatingSystem = HttpRequestHelper.GetUserPlatform(requestInfo), ScreenResolution = requestInfo.Headers["Screen-Resolution"] }; Audit = audit; } if ((Audit.Finish == null) || Audit.Finish.Value < DateTime.Now) { Audit.Finish = (NullableDateTime)DateTime.Now.AddMinutes(30); DataService.UpdateObject(Audit); } } }
public async Task RefreshSessionAudit(JetWalletToken prevToken, JetWalletToken newToken, string userAgent, string ip) { await using var ctx = _databaseContextFactory.Create(); var entity = new SessionAudit() { SessionRootId = newToken.SessionRootId, SessionId = newToken.SessionRootId, BaseSessionId = prevToken.SessionId, BrokerId = newToken.BrokerId, BrandId = newToken.BrandId, ClientId = newToken.ClientId(), WalletId = newToken.WalletId, CreateTime = DateTime.UtcNow, Expires = newToken.Expires, UserAgent = userAgent, Ip = ip }; await ctx.UpsetAsync(entity); }
public async Task <int> UpsetAsync(SessionAudit entity) { var result = await Sessions.Upsert(entity).On(e => e.SessionId).NoUpdate().RunAsync(); return(result); }