Example #1
0
        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()));
        }
Example #2
0
        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();
        }
Example #3
0
        public void ItShouldBePossibleToImplicitlyCastNonEmptyOrderByCollectionToOrderByCollection()
        {
            var value = Extensions.GetValue(() => NonEmptyOrderByCollection.TryCreate(new List <OrderBy> {
                OrderBy.Create((NonEmptyString)"c1", true)
            }.ToImmutableList()));
            OrderByCollection castResult = value;

            castResult.ShouldBeOfType <OrderByCollection>();
        }
Example #4
0
        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);
        }
Example #5
0
        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()));
        }
Example #6
0
        public void Empty_ShouldFail()
        {
            var r = NonEmptyOrderByCollection.TryCreate(new List <OrderBy>().ToImmutableList());

            r.IsFailure.ShouldBeTrue();
        }
Example #7
0
 private static NonEmptyOrderByCollection GetDefaultSort(string column)
 {
     return(Extensions.GetValue(() => NonEmptyOrderByCollection.TryCreate(new List <OrderBy> {
         OrderBy.Create((NonEmptyString)column, true)
     }.ToImmutableList())));
 }