public async Task <Page <UserLoginHistory> > GetUserLoginHistory(int userId, int pageSize, int pageOffset) { if (userId <= 0 || pageSize <= 0 || pageOffset < 0) { throw new CallerException("Invalid input"); } int totalRecordCount; List <UserLoginHistory> userLogins; using (var uow = new UnitOfWork(Context)) { var repo = new UserLoginHistoryRepository(uow); var query = repo.GetAll().Where(c => c.UserId == userId).OrderByDescending(c => c.LoginDate); totalRecordCount = query.Count(); userLogins = await query.Skip(pageSize *pageOffset).Take(pageSize).ToListAsync(); } return(new Page <UserLoginHistory> { PageOffset = pageOffset, PageSize = pageSize, TotalRecordCount = totalRecordCount, SortExpression = "LoginDate DESC", Records = userLogins }); }
public async Task <UserLoginHistory> RecordUserLogin(int userId, TokenType type, string provider, string audience) { var userLoginHistory = new UserLoginHistory { UserId = userId, TokenType = type, Provider = provider, Audience = audience, LoginDate = DateTime.UtcNow }; using (var uow = new UnitOfWork(Context)) { var repo = new UserLoginHistoryRepository(uow); return(await repo.Create(userLoginHistory)); } }
public async Task <Page <UserLoginHistory> > GetGrid(GridRequest gridRequest, int userId) { var data = new Page <UserLoginHistory>(); using (var uow = new UnitOfWork(Context)) { var repo = new UserLoginHistoryRepository(uow); var query = repo.GetAll().Where(u => u.UserId == userId); var dataGridLogic = new DataGridLogic <UserLoginHistory>(gridRequest, query); data.Records = await dataGridLogic.GetResults(); data.PageSize = dataGridLogic.PageSize; data.PageOffset = dataGridLogic.PageOffset; data.TotalRecordCount = dataGridLogic.TotalRecordCount; data.SortExpression = dataGridLogic.SortExpression; } return(data); }
public void UserLoggedIn(UserDataObject user) { var repository = new UserLoginHistoryRepository(); repository.Create(user.ToEntity()); }