Пример #1
0
        void LogSessionAsync(string browser, string ip, User user, string sessionId)
        {
            new Thread(new ThreadStart(() =>
            {
                try
                {
                    using (var db = new AtsDbContext())
                    {
                        var session       = new Session();
                        session.Browser   = browser;
                        session.IPAddress = ip;
                        session.UserName  = user.Name;
                        session.Start     = DateTime.UtcNow;
                        session.UserId    = user.UserId;
                        session.SessionId = sessionId;

                        var pastActSession = db.Sessions.Where(s => s.UserId == user.UserId && s.End == null && s.IPAddress == ip);
                        foreach (var item in pastActSession)
                        {
                            item.End             = DateTime.UtcNow;
                            db.Entry(item).State = System.Data.EntityState.Modified;
                        }

                        db.Sessions.Add(session);
                        db.SaveChanges();
                    }
                }
                catch { }
            })).Start();
        }
 protected override void Dispose(bool disposing)
 {
     if (_db != null)
     {
         _db.Dispose();
         _db = null;
     }
     base.Dispose(disposing);
 }
Пример #3
0
 private void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_dbContext != null)
         {
             _dbContext.Dispose();
             _dbContext = null;
         }
     }
 }
Пример #4
0
 void LogOutSessionAsync(string sessionId)
 {
     new Thread(new ThreadStart(() =>
     {
         using (var db = new AtsDbContext())
         {
             try
             {
                 var session = db.Sessions.Where(s => s.SessionId == sessionId)
                               .ToList().Last();
                 if (session != null)
                 {
                     session.End = DateTime.UtcNow;
                     db.SaveChanges();
                 }
             }
             catch { }
         }
     })).Start();
 }
Пример #5
0
 public StateableRepository(AtsDbContext context) : base(context)
 {
 }
Пример #6
0
 public CommentRepository(AtsDbContext context, IPrincipal principal) : base(context, principal)
 {
 }
Пример #7
0
 public CandidateRepository(AtsDbContext context, IPrincipal principal)
     : base(context, principal)
 {
 }
Пример #8
0
 public UserRepository(AtsDbContext context)
     : base(context)
 {
 }
Пример #9
0
 public EntityBaseRepository(AtsDbContext context)
 {
     _entities = context;
     _dbSet    = context.Set <TEntity>();
 }
Пример #10
0
 public TrackableRepository(AtsDbContext context, IPrincipal principal)
     : base(context)
 {
     _principal = principal as ClaimsPrincipal;
 }
Пример #11
0
 public TechnologyRepository(AtsDbContext context)
     : base(context)
 {
 }
Пример #12
0
 public VacancyRepository(AtsDbContext context, IPrincipal principal)
     : base(context, principal)
 {
 }
Пример #13
0
 public StatusRepository(AtsDbContext context)
     : base(context)
 {
 }
Пример #14
0
 public UnitOfWork(IPrincipal principal)
 {
     _dbContext = new AtsDbContext();
     _principal = principal;
 }