public static EntitySort?Parse(string?sortString) { if (string.IsNullOrEmpty(sortString)) { return(null); } var parts = sortString.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries); if (parts is null || parts.Length == 0) { return(null); } var sort = new EntitySort(); sort.Name = parts[0].Trim(); if (parts.Length >= 2) { sort.Direction = parts[1]?.Trim(); } return(sort); }
public static IQueryable <T> Sort <T>(this IQueryable <T> query, EntitySort sort) { if (sort == null) { return(query); } return(Sort(query, new[] { sort })); }
public EntitySelect(EntityFilter filter, EntitySort sort) { Filter = filter; if (sort != null) { Sort = new List <EntitySort> { sort } } ; }
public void Sort_ByNotExistProperty_ReturnsOriginalCollection(bool isAscending) { // Arrange const string notExistProperty = "notExistProperty"; var utility = new EntitySort(); var originalList = BuildUnsortedList(); // Act var result = utility.Sort(originalList, notExistProperty, isAscending); // Assert result.ShouldBeSameAs(originalList); }
public void Parse(string source, string name, string direction) { var sort = EntitySort.Parse(source); if (string.IsNullOrEmpty(name) && string.IsNullOrEmpty(direction)) { sort.Should().BeNull(); } else { sort.Should().NotBeNull(); sort.Name.Should().Be(name); sort.Direction.Should().Be(direction); } }
public EntitySelect(string?query, string?sort) { Query = query; var entitySort = EntitySort.Parse(sort); if (entitySort == null) { return; } Sort = new List <EntitySort> { entitySort }; }
public void Sort_ByExcludedProperty_ReturnsOriginalCollection(bool isAscending) { // Arrange const string propertyToSort = "Id"; var utility = new EntitySort(); utility.ExcludeFromSorting <JustForUnitTest, int>(x => x.Id); var originalList = BuildUnsortedList(); // Act var result = utility.Sort(originalList, propertyToSort, isAscending); // Assert result.ShouldBeSameAs(originalList); }
public void Sort_ByDescending_ReturnsSortedCollection() { // Arrange const bool isAscending = false; const string propertyToSort = "Id"; var utility = new EntitySort(); var originalList = BuildUnsortedList(); var expectedResult = originalList.OrderByDescending(x => x.Id).ToArray(); // Act var result = utility.Sort(originalList, propertyToSort, isAscending).ToArray(); // Assert result.ShouldBeInOrder(SortDirection.Descending, new JustForTestCompare()); }
public EntityQuery(EntityFilter filter, EntitySort sort, int page = 1, int pageSize = 20) : this(filter, new[] { sort }, page, pageSize) { }
public EntitySelectQuery(IPrincipal principal, EntityFilter filter, EntitySort sort) : this(principal, filter, new[] { sort }) { }