示例#1
0
        public void Test_Json_Serializer_On_Item()
        {
            FiltersWithSorting filtersWithSorting = new FiltersWithSorting()
            {
                Filters = new List <IFilter> {
                    new PlayerFilter("John"), new RemainingShipFilter(5)
                },
                Sorting = new SortingItem(SortingType.DateSorting, SortingDirection.Descending),
            };
            FiltersWithSorting deserialize = default;

            try
            {
                var settings = new JsonSerializerSettings()
                {
                    TypeNameHandling = TypeNameHandling.All
                };
                string query = JsonConvert.SerializeObject(filtersWithSorting, settings);
                deserialize = JsonConvert.DeserializeObject <FiltersWithSorting>(query, settings);
            }
            catch (Exception ex)
            {
                Assert.Fail();
            }
            Assert.IsTrue(deserialize?.Sorting.SortingType == SortingType.DateSorting && deserialize.Filters[0].GetType() == typeof(PlayerFilter));
        }
        public StatisticsItem[] GetStatistics(string data)
        {
            JObject            json = JObject.Parse(data);
            FiltersWithSorting filtersWithSorting = GetFiltersWithSortingFromJson(json);
            var statisticList = _unitOfWork.GetStatistics(filtersWithSorting.Filters, filtersWithSorting.Sorting);

            return(statisticList.ToArray());
        }
示例#3
0
        public StatisticsItem[] GetStatistics(object data)
        {
            var settings = new JsonSerializerSettings()
            {
                TypeNameHandling = TypeNameHandling.All
            };
            FiltersWithSorting item = JsonConvert.DeserializeObject <FiltersWithSorting>(data.ToString(), settings);

            return(_unitOfWork.GetStatistics(item.Filters, item.Sorting).ToArray());
        }