Exemple #1
0
        public async Task <ActionResult> List()
        {
            var userNames = await _traceLogService.GetPerformedUsernames();

            var model = new TraceLogSearchModel {
                AvailableUsernames = userNames.Select(u => new SelectListItem {
                    Text = u, Value = u
                }).ToList()
            };

            model.AvailableUsernames.Insert(0, new SelectListItem {
                Text = "All", Value = ""
            });
            return(View("List", model));
        }
Exemple #2
0
        public async Task List_PostDataSourceRequestAndTraceLogSearchModel_ReturnJsonResult()
        {
            // Arrange
            var traceLogService = Substitute.For <ITraceLogService>();

            traceLogService.GetTraceLogs(Arg.Any <TraceLogPagedDataRequest>()).Returns(_traceLogs);

            var sut = new TraceLogsController(traceLogService);

            var request = new DataSourceRequest {
                Sorts = new List <SortDescriptor>()
            };
            var model = new TraceLogSearchModel();

            // Act
            var result = await sut.List(request, model) as JsonResult;

            // Assert
            Assert.IsNotNull(result);
            var dataSourceResult = (DataSourceResult)result.Data;
            var models           = (IEnumerable <TraceLogModel>)dataSourceResult.Data;

            Assert.AreEqual(3, models.Count());
        }
Exemple #3
0
        private TraceLogPagedDataRequest ParsePagedDataRequest(DataSourceRequest request, TraceLogSearchModel model)
        {
            var dataRequest = new TraceLogPagedDataRequest
            {
                Controller  = model.Controller,
                Action      = model.Action,
                Message     = model.Message,
                PerformedBy = model.PerformedBy,
                PageIndex   = request.Page - 1,
                PageSize    = request.PageSize
            };

            if (model.FromDate.HasValue)
            {
                dataRequest.FromDate = model.FromDate.Value;
            }

            if (model.ToDate.HasValue)
            {
                dataRequest.ToDate = model.ToDate.Value.ToEndOfDay();
            }

            SortDescriptor sort = request.Sorts.FirstOrDefault();

            if (sort != null)
            {
                TraceLogSortField sortField;
                if (!Enum.TryParse(sort.Member, out sortField))
                {
                    sortField = TraceLogSortField.PerformedOn;
                }
                dataRequest.SortField = sortField;
                dataRequest.SortOrder = sort.SortDirection == ListSortDirection.Ascending ? SortOrder.Ascending : SortOrder.Descending;
            }
            return(dataRequest);
        }
Exemple #4
0
        public async Task <ActionResult> List([DataSourceRequest] DataSourceRequest request, TraceLogSearchModel model)
        {
            var dataRequest = ParsePagedDataRequest(request, model);
            var entities    = await _traceLogService.GetTraceLogs(dataRequest);

            var models = entities.Select(x => x.ToModel()).ToList();
            var result = new DataSourceResult {
                Data = models.ToList(), Total = entities.TotalCount
            };

            return(Json(result));
        }