Example #1
0
        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;
        }
Example #2
0
 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;
 }
Example #3
0
        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();
        }
Example #4
0
 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;
 }
Example #5
0
        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;
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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;
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        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;
        }
Example #12
0
        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);
        }