예제 #1
0
        public Search(SearchResponse resultItem) : this(resultItem.total)
        {
            StartAt    = resultItem.startAt;
            MaxResults = resultItem.maxResults;

            if (resultItem.issues != null)
            {
                Issues.AddRange(resultItem.issues.ToList().ConvertAll <Issue>(Converter.ToIssue));
            }
        }
예제 #2
0
        private async Task DoRefresh()
        {
            using (var busyContext = GetBusyContext())
            {
                var filters = BuildFilters();

                var data = await Task
                           .Run(() => model.LoadData(filters))
                           .ConfigureAwait(true);

                Issues.Clear();
                VerticalDimension   = data.VerticalDimension;
                HorizontalDimension = data.HorizontalDimension;
                CardContent         = data.CardElements;
                CardsColors         = data.CardsColors;
                Issues.AddRange(data.Issues);
            }
        }
예제 #3
0
        } //TODO: add some logic preventing empty name

        public void Initialize(ViewRequest viewRequest)
        {
            scope = (viewRequest as BoardViewRequest).Scope;

            Issues.Clear();

            Observable.FromAsync(() => scope.GetRowHeadersAsync())
            .ObserveOnDispatcher()
            .Subscribe(vert => VerticalDimension = vert);

            Observable.FromAsync(() => scope.GetColumnHeadersAsync())
            .ObserveOnDispatcher()
            .Subscribe(horiz => HorizontalDimension = horiz);

            CardContent = scope.GetCardContent();

            Observable.FromAsync(() => scope.GetIssuesAsync())
            .ObserveOnDispatcher()
            .Subscribe(issues => Issues.AddRange(issues));     // TODO: make initialize works
        }
        public void AddIssues([NotNull] ICollection <XmlIssue> issues,
                              bool reportIndividualIssues)
        {
            Assert.ArgumentNotNull(issues, nameof(issues));

            if (reportIndividualIssues)
            {
                if (Issues == null)
                {
                    Issues = new List <XmlIssue>();
                }

                Issues.AddRange(issues);

                IssueCount = Issues.Count;
            }
            else
            {
                IssueCount += issues.Count;
            }
        }
예제 #5
0
        } //TODO: add some logic preventing empty name

        public void Initialize(ViewRequest viewRequest)
        {
            var request = viewRequest as BoardViewRequest;

            IssueViewModel = new IssueViewModel();

            scope = request.Scope;

            Observable.FromAsync(() => scope.GetAllBoardsInFileAsync())
            .ObserveOnDispatcher()
            .Subscribe(boards =>
            {
                BoardsInFile.PublishCollection(boards);

                CurrentBoard = !string.IsNullOrEmpty(request.SelectedBoardName)
                        ? BoardsInFile.First(board => board.Name == request.SelectedBoardName)
                        : BoardsInFile.First();

                Issues.Clear();

                Observable.FromAsync(() => scope.GetRowHeadersAsync(CurrentBoard.Id))
                .ObserveOnDispatcher()
                .Subscribe(vert => VerticalDimension = vert);

                Observable.FromAsync(() => scope.GetColumnHeadersAsync(CurrentBoard.Id))
                .ObserveOnDispatcher()
                .Subscribe(horiz => HorizontalDimension = horiz);

                CardContent = scope.GetCardContent();

                Observable.FromAsync(() => scope.GetIssuesByBoardIdAsync(CurrentBoard.Id))
                .ObserveOnDispatcher()
                .Subscribe(issues =>
                           Issues.AddRange(issues));
            });
        }