Exemple #1
0
        public async Task SearchLogsAsync_WithInvalidModelData_ReturnListOfLogs()
        {
            var context    = SteuDbContextInMemoryFactory.InitializeContext();
            var service    = this.IntializeLogsService(context);
            var repository = new EfDeletableEntityRepository <Log>(context);

            Log log = new Log()
            {
                Id     = "logId",
                User   = "******",
                Action = "/",
            };
            await repository.AddAsync(log);

            await repository.SaveChangesAsync();

            SearchLogsInputModel model = new SearchLogsInputModel()
            {
                Action = "/asd",
            };

            var actualResult = await service.SearchLogsAsync <SearchLogViewModel>(model);

            Assert.Empty(actualResult);
        }
Exemple #2
0
        public async Task <ICollection <TViewModel> > SearchLogsAsync <TViewModel>(SearchLogsInputModel model)
        {
            var searchLogs = await this.logsRepository.All()
                             .Where(x => (model.Username == null || x.User == model.Username) &&
                                    (model.Action == null || x.Action == model.Action) &&
                                    (model.StartDate == null || x.CreatedOn >= model.StartDate) &&
                                    (model.EndDate == null || x.CreatedOn <= model.EndDate))
                             .OrderByDescending(x => x.CreatedOn)
                             .To <TViewModel>()
                             .ToListAsync();

            return(searchLogs);
        }
Exemple #3
0
        public async Task <IActionResult> SearchLogs(SearchLogsInputModel model)
        {
            var searchLogs = await this.logsService.SearchLogsAsync <SearchLogViewModel>(model);

            return(this.View("SearchLogsList", searchLogs));
        }