private static NonEmptyString GetSortColumns(OrderByCollection modelOrderByCollection) { var defaultDatabaseOrderByCollection = Extensions.GetValue(() => NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)"NAME", true), OrderBy.Create((NonEmptyString)"SURNAME", true) }.ToImmutableList())); return(CommandHelper.GetTranslatedSort(modelOrderByCollection, defaultDatabaseOrderByCollection, Columns.GetMappings())); }
public void ValidElements_ShouldSucceed() { var r = NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)"c1", true), OrderBy.Create((NonEmptyString)"c2", true) }.ToImmutableList()); r.IsSuccess.ShouldBeTrue(); }
public void ItShouldBePossibleToImplicitlyCastNonEmptyOrderByCollectionToOrderByCollection() { var value = Extensions.GetValue(() => NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)"c1", true) }.ToImmutableList())); OrderByCollection castResult = value; castResult.ShouldBeOfType <OrderByCollection>(); }
public void TwoNonEmptyOrderByCollectionsWithDiffrentValueShouldNotBeEqual() { var r1 = NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)"c", true) }.ToImmutableList()); var r2 = NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)"cx", true) }.ToImmutableList()); Helper.ShouldNotBeEqual(r1, r2); }
public static NonEmptyString GetTranslatedSort(OrderByCollection modelOrderByCollection, NonEmptyOrderByCollection defaultDatabaseOrderByCollection, ImmutableDictionary <NonEmptyString, NonEmptyString> modelDatabaseColumnMappings) { if (modelOrderByCollection.OrderBys.Count == 0) { return(GetNonEmptyString(defaultDatabaseOrderByCollection.OrderBys.Select(orderBy => GetSortColumn(orderBy.Column, orderBy.Ascending)).ToImmutableList())); } var dictionaryWithLowerCaseKeys = modelDatabaseColumnMappings.ToDictionary(pair => (NonEmptyLowerCaseString)pair.Key.Value, pair => pair.Value).ToImmutableDictionary(); var result = new List <NonEmptyString>(); foreach (var orderBy in modelOrderByCollection.OrderBys) { AddIfContainsKey(orderBy, dictionaryWithLowerCaseKeys, result); } return(GetNonEmptyString(result.Count == 0 ? defaultDatabaseOrderByCollection.OrderBys.Select(orderBy => GetSortColumn(orderBy.Column, orderBy.Ascending)).ToImmutableList() : result.ToImmutableList())); }
public void Empty_ShouldFail() { var r = NonEmptyOrderByCollection.TryCreate(new List <OrderBy>().ToImmutableList()); r.IsFailure.ShouldBeTrue(); }
private static NonEmptyOrderByCollection GetDefaultSort(string column) { return(Extensions.GetValue(() => NonEmptyOrderByCollection.TryCreate(new List <OrderBy> { OrderBy.Create((NonEmptyString)column, true) }.ToImmutableList()))); }