public void Initialize(ViewRequest viewRequest) { var request = viewRequest as WizardViewRequest; InExistedFile = (bool)request?.InExistedFile; if (InExistedFile) { var uri = request.Uri; FolderName = Path.GetDirectoryName(uri); FileName = Path.GetFileName(uri); FullTitle = $"Creating new board"; FullTitle = $"Creating new board in {uri}"; scope = appModel.CreateScope(uri); Observable.FromAsync(() => scope.GetAllBoardsInFileAsync()) .ObserveOnDispatcher() .Subscribe(boards => BoardsInFile.PublishCollection(boards.Select(board => board.Name))); } }
} //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)); }); }