public void Initialize(ViewRequest viewRequest) { var request = viewRequest as IssueViewRequest; scope = request.Scope; var issueId = request?.IssueId; if (issueId == 0) { issueId = null; } Observable.FromAsync(() => scope.LoadOrCreateAsync(issueId)) .ObserveOnDispatcher() .Subscribe(issue => mapper.Map(issue, this)); Observable.FromAsync(() => scope.GetRows()) .ObserveOnDispatcher() .Subscribe(rows => { AwailableRows.Clear(); AwailableRows.AddRange(rows); }); Observable.FromAsync(() => scope.GetColumns()) .ObserveOnDispatcher() .Subscribe(columns => AwailableColumns.PublishCollection(columns)); Title = $"Редактирование задачи {Head}"; }
public void Initialize(ViewRequest viewRequest) { if (viewRequest is IssueViewRequest request) { scope = request.Scope; board = request.Board; mapper.Map(new LocalIssue(), this); IssueChanged = false; Observable.FromAsync(() => scope.GetRowsByBoardIdAsync(board.Id)) .ObserveOnDispatcher() .Subscribe(rows => { AwailableRows.PublishCollection(rows); Row = AwailableRows.First(); }); Observable.FromAsync(() => scope.GetColumnsByBoardIdAsync(board.Id)) .ObserveOnDispatcher() .Subscribe(columns => { AwailableColumns.PublishCollection(columns); Column = AwailableColumns.First(); }); var issueId = request.IssueId; if (issueId != null && issueId > 0) { Observable.FromAsync(() => scope.LoadOrCreateIssueAsync(issueId)) .ObserveOnDispatcher() .Subscribe(issue => { mapper.Map(issue, this); Row = AwailableRows.First(r => r.Id == Row.Id); Column = AwailableColumns.First(c => c.Id == Column.Id); }); } } Title = $"Редактирование задачи {Head}"; IsOpened = true; }