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); }
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); }
public async Task <IActionResult> SearchLogs(SearchLogsInputModel model) { var searchLogs = await this.logsService.SearchLogsAsync <SearchLogViewModel>(model); return(this.View("SearchLogsList", searchLogs)); }