public Task OpenSession(HttpRequest request, IPrincipal user) { //КОСТЫЛЬ lock (syncSubmit) { var log = new SessionLog { UserId = user.Identity.GetUserId(), Ip4 = request.UserHostAddress, OpenDateTime = DateTime.Now }; var tmp = db.SessionLogs.ToList(); var other = tmp.LastOrDefault(x => x.UserId == log.UserId && x.Ip4 == log.Ip4); if (other != null && (log.UserId == other.UserId || log.OpenDateTime < other.OpenDateTime.AddMinutes(30))) return null; return Task.Run(() => { lock (syncSubmit) db.SessionLogs.InsertOnSubmit(log); Submit(); }); } }
partial void UpdateSessionLog(SessionLog instance);
partial void DeleteSessionLog(SessionLog instance);
partial void InsertSessionLog(SessionLog instance);