public static string GetParamUrl(FilterRequest filter)
        {
            var paramUrl = "";

            if (filter == null)
            {
                paramUrl += "full";
            }
            else
            {
                if (filter.IsFull)
                {
                    paramUrl += "full";
                }
                else
                {
                    paramUrl += $"&page={filter.Page}";
                    paramUrl += $"&limit={filter.Limit}";
                }
                if (filter.Keyword != null && filter.Keyword.Length > 0)
                {
                    paramUrl += $"&q={filter.Keyword}";
                }

                foreach (var item in filter.Filters)
                {
                    paramUrl += $"f.${ item.PropertyName}:${ FilterOperationConverter.GetAcroymOperater(item.Operator)}={String.Join('|', item.Values)}";
                }

                filter.Orders = filter.Orders.OrderBy(x => x.Index).ToList();

                var orderValues = filter.Orders.OrderBy(x => x.Index).Select(x => $"{ (x.Type == OrderTypes.desc ? "-" : "") }{ x.PropertyName}").ToList();
                if (orderValues != null && orderValues.Count > 0)
                {
                    paramUrl += $"&sort={String.Join(',', orderValues.ToArray())}";
                }
            }
            return(paramUrl);
        }
Beispiel #2
0
        private void RegisterBindingConverters()
        {
            var seriesWatchStatusConverter   = new SeriesWatchStatusConverter();
            var seriesReleaseStatusConverter = new SeriesReleaseStatusConverter();
            var seasonWatchStatusConverter   = new SeasonWatchStatusConverter();
            var seasonReleaseStatusConverter = new SeasonReleaseStatusConverter();
            var filterTypeConverter          = new FilterTypeConverter();
            var filterOperationConverter     = new FilterOperationConverter();
            var listSortOrderConverter       = new ListSortOrderConverter();
            var listSortDirectionConverter   = new ListSortDirectionConverter();
            var logLevelConverter            = new LogLevelConverter();

            this.RegisterBindingConverters(
                seriesWatchStatusConverter,
                seriesReleaseStatusConverter,
                seasonWatchStatusConverter,
                seasonReleaseStatusConverter,
                filterTypeConverter,
                filterOperationConverter,
                listSortOrderConverter,
                listSortDirectionConverter,
                logLevelConverter,
                new BrushToHexConverter(),
                new ColorToBrushConverter(),
                new BooleanToVisibilityTypeConverter());

            Locator.CurrentMutable.RegisterConstant <IEnumConverter <SeriesWatchStatus> >(seriesWatchStatusConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <SeriesReleaseStatus> >(seriesReleaseStatusConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <SeasonWatchStatus> >(seasonWatchStatusConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <SeasonReleaseStatus> >(seasonReleaseStatusConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <FilterType> >(filterTypeConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <FilterOperation> >(filterOperationConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <ListSortOrder> >(listSortOrderConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <ListSortDirection> >(listSortDirectionConverter);
            Locator.CurrentMutable.RegisterConstant <IEnumConverter <LogEventLevel> >(logLevelConverter);
        }
 public void Teardown()
 {
     _sut = null;
 }
 public void Setup()
 {
     _sut = new FilterOperationConverter();
     _typeDescriptorContext = new Mock <ITypeDescriptorContext>().Object;
 }