public static void InitializeListConfig <TKey>(this BaseDataSource <TKey> source, IListConfig config)
     where TKey : struct
 {
     if (config != null)
     {
         InitializeListConfig(source.BaseView, config);
     }
 }
Exemplo n.º 2
0
        public void GetTotalCount_IfSearchCriteriaIsNull_ShouldBeEqual(int count)
        {
            // arrange
            var dataQuery     = Mock.Of <DataQuery>();
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            var result = dataSource.GetTotalCount();

            // assert
            result.Should().Be(count);
        }
Exemplo n.º 3
0
        public void Fetch_Result_ShouldNotBeNull()
        {
            // arrange
            var dataQuery     = Mock.Of <DataQuery>();
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            dataSource.Fetch();

            // assert
            dataSource.Items.Should().NotBeNull();
        }
Exemplo n.º 4
0
        public void GetTotalCount_IfListEntriesNotNull_ShouldBeEqual(int count)
        {
            // arrange
            var dataQuery     = Mock.Of <DataQuery>(t => t.ListEntries == new[] { new ListEntry(), });
            var searchService = new Mock <IListEntrySearchService>();

            var dataSource = new BaseDataSource(searchService.Object, dataQuery);

            // act
            var result = dataSource.GetTotalCount();

            // assert
            result.Should().Be(count);
        }
Exemplo n.º 5
0
        public void Fetch_Return_ShouldBeTrue()
        {
            // arrange
            var entries = new List <ListEntry> {
                new ListEntry()
            };
            var dataQuery     = Mock.Of <DataQuery>(t => t.ListEntries == entries.ToArray());
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            var result = dataSource.Fetch();

            // assert
            result.Should().Be(true);
        }
Exemplo n.º 6
0
        public void Fetch_Should_HaveCount(int count)
        {
            // arrange
            var entries = new List <ListEntry> {
                new ListEntry()
            };
            var dataQuery     = Mock.Of <DataQuery>(t => t.ListEntries == entries.ToArray());
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            dataSource.Fetch();

            // assert
            dataSource.Items.Should().HaveCount(count);
        }
        public async Task Fetch_SearchService_InvokeSearch()
        {
            // arrange
            var listEntrySearchResult = Mock.Of <ListEntrySearchResult>();
            var dataQuery             = Mock.Of <DataQuery>(t => t.SearchCriteria == Mock.Of <CatalogListEntrySearchCriteria>());
            var searchService         = new Mock <IListEntrySearchService>();

            searchService.Setup(t => t.SearchAsync(It.IsAny <CatalogListEntrySearchCriteria>())).ReturnsAsync(listEntrySearchResult);
            var dataSource = new BaseDataSource(searchService.Object, dataQuery);

            // act
            await dataSource.FetchAsync();

            // assert
            searchService.Verify(t => t.SearchAsync(It.IsAny <CatalogListEntrySearchCriteria>()));
        }
Exemplo n.º 8
0
        public void addtoCalendar(BaseDataSource payload)
        {
            //build our object
            var startTime = (DateTime)payload["start"];
            var endTime   = (DateTime)payload["end"];
            var desc      = (string)payload["abstract"];
            var location  = (string)payload["room"];
            var title     = (string)payload["title"];

            Debug.WriteLine(startTime);

            //add event to calendar
            Device.BeginInvokeOnMainThread(async() =>
            {
                var answer = await DisplayAlert("Add Event to Calendar?", "Save this event for later", "Yes", "No");
                if (answer)
                {
                    var eventDetails = new CalendarEvent()
                    {
                        Start       = startTime,
                        End         = endTime,
                        Description = desc,
                        Location    = location,
                        Name        = title,
                        ExternalID  = "makerspace"
                    };

                    if (Device.OS != TargetPlatform.Android)
                    {
                        await EventListHelper.incrementAttendeeCount();
                    }

                    try
                    {
                        var localCalendar = await GetOrCreateMakerCalendarAsync();

                        await CrossCalendars.Current.AddOrUpdateEventAsync(localCalendar, eventDetails);

                        await DisplayAlert("Done!", "Added to Calendar", "Yay!");
                    }
                    catch (UnauthorizedAccessException)
                    {
                        await DisplayAlert("Uh-Oh", "Go to Settings and Enable Calendar Access for this App!", "Ok");
                    }
                }
            });
        }
Exemplo n.º 9
0
        public void Fetch_SearchService_InvokeSearch()
        {
            // arrange
            var entries = new List <ListEntry> {
                new ListEntry()
            };
            var listEntrySearchResult = Mock.Of <ListEntrySearchResult>(t => t.ListEntries == entries);
            var dataQuery             = Mock.Of <DataQuery>(t => t.SearchCriteria == Mock.Of <SearchCriteria>());
            var searchService         = new Mock <IListEntrySearchService>();

            searchService.Setup(t => t.Search(It.IsAny <SearchCriteria>())).Returns(listEntrySearchResult);
            var dataSource = new BaseDataSource(searchService.Object, dataQuery);

            // act
            dataSource.Fetch();

            // assert
            searchService.Verify(t => t.Search(It.IsAny <SearchCriteria>()));
        }
Exemplo n.º 10
0
        public void GetTotalCount_IfSearchCriteriaIsNotNull_ShouldBeEqual(int count)
        {
            // arrange
            var dataQuery             = Mock.Of <DataQuery>(t => t.SearchCriteria == new SearchCriteria());
            var searchService         = new Mock <IListEntrySearchService>();
            var listEntrySearchResult = new ListEntrySearchResult {
                TotalCount = 1
            };

            searchService.Setup(t => t.Search(It.IsAny <SearchCriteria>())).Returns(listEntrySearchResult);

            var dataSource = new BaseDataSource(searchService.Object, dataQuery);

            // act
            var result = dataSource.GetTotalCount();

            // assert
            result.Should().Be(count);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 移动到下一个
        /// </summary>
        /// <returns></returns>
        public override bool MoveNext()
        {
            if (!base.MoveNext())
            {
                return(false);
            }                                       //采用基类的流程控制。

            //主获取下一个
            var isBaseResultOk = BaseDataSource.MoveNext();
            //必须从公共时段开始读取
            var baseEpochInfo = BaseDataSource.Current;

            if (baseEpochInfo == null)
            {
                return(false);
            }

            //时段控制
            while (isBaseResultOk)
            {
                if (!TimePeriod.Contains(baseEpochInfo.ReceiverTime))
                {
                    log.Debug(BaseDataSource.Name + ", " + baseEpochInfo.ReceiverTime + ", 在共同时段外,跳过!共同时段:" + TimePeriod);
                    isBaseResultOk = BaseDataSource.MoveNext();
                    //update
                    baseEpochInfo = BaseDataSource.Current;
                    if (baseEpochInfo == null)
                    {
                        return(false);
                    }
                }
                else
                {
                    break;
                }
            }

            if (isBaseResultOk)
            {
                var builder = new MultiSiteEpochInfoBuilder(IsSameSatRequired);
                builder.Add(baseEpochInfo, true);

                foreach (var obsDataSource in DataSources)
                {
                    if (BaseDataSource == obsDataSource)
                    {
                        continue;
                    }
                    var other = obsDataSource.Get(baseEpochInfo.ReceiverTime, 0.1);//最大分辨率 10HZ。
                    if (other == null)
                    {
                        //是否忽略
                        if (IsAllowMissingEpochSite)
                        {
                            log.Debug(obsDataSource.Name + ", 获取同步观测历元失败!" + baseEpochInfo.ReceiverTime + ", 本历元少此站。");
                            continue;
                        }

                        log.Warn(obsDataSource.Name + ", 获取同步观测历元失败!" + baseEpochInfo.ReceiverTime + ", 此历元无数据,继续尝试下一历元。");
                        return(MoveNext());
                    }
                    builder.Add(other);
                }
                var result = builder.Build();

                this.Current = result;
                OnProductProduced(this.Current);
            }

            return(isBaseResultOk);
        }