public tbSession ExtendSession(tbSession session) { try { session.Expiry = DateTime.UtcNow.AddDays(1); session.UpdatedDate = DateTime.UtcNow; _db.SaveChanges(); } catch (DataException dex) { throw new ApplicationException("Data error!", dex); } return session; }
public bool DeleteSession(tbSession session) { bool isDeleted = false; try { session.IsDeleted = true; session.IsActive = false; session.UpdatedDate = DateTime.UtcNow; _db.SaveChanges(); } catch (DataException dex) { throw new ApplicationException("Data error!", dex); } return isDeleted; }
public async Task<tbSession> CreateUpdateUserSession(tbUser user) { tbSession session = null; try { session = await _db.tbSessions.FirstOrDefaultAsync(x => x.UserId == user.UserId && !(x.IsDeleted ?? false)); if (session != null) { session.IsDeleted = true; session.IsActive = false; session.UpdatedDate = DateTime.UtcNow; } // new session session = new tbSession(); session.SessionId = Guid.NewGuid(); session.UserId = user.UserId; session.CreatedDate = DateTime.UtcNow; session.IPAddress = user.IPAddress; session.Expiry = DateTime.UtcNow.AddDays(1); // extend one day session.IsDeleted = false; session.IsActive = true; _db.tbSessions.Add(session); await _db.SaveChangesAsync(); } catch (DataException dex) { throw new ApplicationException("Data error!", dex); } return session; }