public List<LogDTO> GetAllLogs(bool isPaginated, PaginationFilter filter) { IQueryable<Log> logs; if (isPaginated) { logs = _logRepo.GetAll().Where(l => l.Level == "INFO") .OrderBy(x => x.Date) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize); } else { logs = _logRepo.GetAll().Where(l => l.Level == "INFO"); } List<LogDTO> res = new List<LogDTO>(); foreach (var item in logs) { var pairs = item.Message.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var date = pairs[2].Substring(pairs[2].IndexOf(':') + 1); res.Add(new LogDTO { User = pairs[0].Split(':')[1], Action = pairs[1].Split(':')[1], Date = date }); } return res; }
public List<QuestionDTO> GetByModule(int ModuleId, PaginationFilter filter) { var questions = _questionRepository.GetAll().Where(x => x.Module.ModuleId == ModuleId).OrderBy(x => x.QuestionId) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize); var questionsDtos = Mapper.Map<List<QuestionDTO>>(questions); return questionsDtos; }
public List<DomainUserDTO> GetAllUsersWithPagination(PaginationFilter filter) { IEnumerable<DomainUser> enumerableAllUsers = _userRepo.GetAll().OrderBy(x => x.DomainUserId) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize); var allUsers = Mapper.Map<IEnumerable<DomainUserDTO>>(enumerableAllUsers); return allUsers.ToList(); }
public List<TestDTO> GetByModuleWithPagination(int ModuleId, PaginationFilter filter) { var tests = _testRepository.GetAll().Where(x => x.Module.ModuleId == ModuleId) .OrderBy(x => x.TestId) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize).ToList(); var testDtos = Mapper.Map<List<TestDTO>>(tests); return testDtos; }
public List<MessageDTO> GetConversation(int userId1, int userId2, PaginationFilter filter) { var messages = _messageRepository.GetAll() .Where(x => (x.From.DomainUserId == userId1 && x.To.DomainUserId == userId2) || (x.From.DomainUserId == userId2 && x.To.DomainUserId == userId1)) .OrderBy(x => x.DateTime) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize); var messageDtos = Mapper.Map<List<MessageDTO>>(messages); return messageDtos; }
public async Task<IHttpActionResult> GetWithPagination(int? pageNumber, int? pageSize) { var filter = new PaginationFilter { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 20 }; string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); var res = _logProvider.GetAllLogs(true, filter); Logger.Logger.Instance.LogAction(LoggerHelper.GetActionString(TokenHelper.GetFromToken(token, "username"), "Homework created")); return Ok(res); }
public async Task<IHttpActionResult> GetAllStudentsWithPagination(int? pageNumber, int? pageSize) { string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); var filter = new PaginationFilter() { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 20 }; List<DomainUserDTO> users = _userProvider.GetAllStudentsWithPagination(filter); var allUsers = Mapper.Map<IEnumerable<UserViewModel>>(users); Logger.Logger.Instance.LogAction(LoggerHelper.GetActionString(TokenHelper.GetFromToken(token, "username"), "Get all students")); return Content(HttpStatusCode.OK, allUsers); }
public List<DomainUserDTO> GetAllStudentsWithPagination(PaginationFilter filter) { IList<IdentityUserRole> users; using (var db = new ApplicationDbContext()) { var role = db.Roles.AsQueryable().FirstOrDefault(r => r.Name.Equals("student")); users = role.Users.OrderBy(x => x.UserId) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize).ToList(); } List<DomainUserDTO> studentUsers = new List<DomainUserDTO>(); foreach (var user in users) { studentUsers.Add(Mapper.Map<DomainUserDTO>(_userRepo.Get(u => u.ApplicationUser.Id == user.UserId))); } return studentUsers; }
public async Task<IHttpActionResult> GetAllByModule(int? moduleId, int? pageNumber, int? pageSize) { if (moduleId == null) { return BadRequest("Module Id not found"); } var filter = new PaginationFilter { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 20 }; string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); var questionDtos = _questionProvider.GetByModule(moduleId.Value, filter); var questionModels = Mapper.Map<List<QuestionViewModel>>(questionDtos); Logger.Logger.Instance.LogAction(LoggerHelper.GetActionString(TokenHelper.GetFromToken(token, "username"), "Get All Questions for Module ")); return Content(HttpStatusCode.OK, questionModels); }
public async Task<IHttpActionResult> GetConversationBetweenUsers(int? userId1, int? userId2, int? pageNumber, int? pageSize) { if (userId1 == null || userId2 == null) { return BadRequest("User Ids Not Found"); } var filter = new PaginationFilter { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 20 }; string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); var messageDtos = _messageProvider.GetConversation(userId1.Value, userId2.Value, filter); var messageOutModels = Mapper.Map<List<MessageOutModel>>(messageDtos); Logger.Logger.Instance.LogAction(LoggerHelper.GetActionString(TokenHelper.GetFromToken(token, "username"), "Get All Messages Between Two Users ")); return Content(HttpStatusCode.OK, messageOutModels); }
public List<DomainUserDTO> GetAllStudentsByCourseIdPagination(int courseId, PaginationFilter filter) { var students = _courseRepo.Get(x => x.CourseId == courseId) .Students .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize) .ToList(); var studentsDto = Mapper.Map<List<DomainUserDTO>>(students); return studentsDto; }
public async Task<IHttpActionResult> GetAllQuestionsByTestIdWithPagination(int testId, int? pageNumber, int? pageSize) { if (testId == null) { return BadRequest("Test Id not found"); } var filter = new PaginationFilter() { PageNumber = pageNumber ?? 1, PageSize = pageSize ?? 20 }; string token = Request.Headers.GetValues("Authorization").FirstOrDefault(); var testDto = _testProvider.GetByTestId(testId); var questions = testDto.Questions.OrderBy(x => x.QuestionId) .Skip((filter.PageNumber - 1) * filter.PageSize) .Take(filter.PageSize).ToList(); Logger.Logger.Instance.LogAction(LoggerHelper.GetActionString(TokenHelper.GetFromToken(token, "username"), "Get All Questions for Test")); return Content(HttpStatusCode.OK, questions); }