예제 #1
0
        private async Task ReloadScheme()
        {
            ProgressDialogController dialogController = null;

            try
            {
                dialogController = await _dialogCoordinator.ShowProgressAsync(this, "Scheme Loading", "Loading...");

                dialogController.SetIndeterminate();
                _scheme = await _repository.LoadScheme();

                Scheme.Reload(_scheme);
                await dialogController.CloseAsync();
            }
            catch (Exception e)
            {
                if (dialogController != null)
                {
                    await dialogController.CloseAsync();
                }

                await _dialogCoordinator.ShowMessageAsync(this, "Error", e.Message);

                Close();
            }
        }
예제 #2
0
        public void Reload(BoxScheme scheme)
        {
            _boardsSource.Edit(x =>
            {
                x.Clear();
                x.AddRange(scheme.Boards.Select(y => new BoardImportSchemeViewModel
                {
                    Id = y.Id, Name = y.Name, IsSelected = true
                }));
            });
            _columnsSource.Edit(x =>
            {
                x.Clear();
                x.AddRange(scheme.Columns.Select(y => new ColumnImportSchemeViewModel
                {
                    Id = y.Id, BoardId = y.BoardId, Name = y.Name, IsSelected = true
                }));
            });
            _rowsSource.Edit(x =>
            {
                x.Clear();
                x.AddRange(scheme.Rows.Select(y => new RowImportSchemeViewModel
                {
                    Id = y.Id, BoardId = y.BoardId, Name = y.Name, IsSelected = true
                }));
            });

            SelectedBoard = _boardsSource.Items.FirstOrDefault();
        }
예제 #3
0
        public async Task <BoxScheme> LoadScheme()
        {
            var scheme = new BoxScheme();

            await LoadRedmineData();

            var boards = new List <Board>(_projects.Count);

            foreach (var project in _projects)
            {
                scheme.Rows.AddRange(_users
                                     .Select((t, i) =>
                                             new Row
                {
                    Id      = t.Id + _users.Count * project.Id,
                    BoardId = project.Id,
                    Name    = t.Name,
                    Order   = i
                })
                                     );
                scheme.Columns.AddRange(_statuses
                                        .Select((s, i) =>
                                                new Column
                {
                    Id      = s.Id + _statuses.Count * project.Id,
                    BoardId = project.Id,
                    Name    = s.Name,
                    Order   = i
                })
                                        );
                boards.Add(
                    new Board
                {
                    Id      = project.Id,
                    Name    = project.Name,
                    Created = project.CreatedOn.GetValueOrDefault()
                }
                    );
            }

            scheme.Boards = boards;

            return(scheme);
        }
예제 #4
0
        private async Task ReloadScheme()
        {
            ProgressDialogController dialogController = null;

            try
            {
                dialogController = await _dialogCoordinator.ShowProgressAsync(this, "Scheme Loading", "Loading...");

                dialogController.SetIndeterminate();

                if (LoadAll)
                {
                    _scheme = await _repository.LoadScheme();
                }
                else
                {
                    CanReloadPart = true;
                    _scheme       = new BoxScheme
                    {
                        Boards = await _repository.LoadSchemeBoards()
                    };
                }

                Scheme.Update(_scheme);
                await dialogController.CloseAsync();
            }
            catch (Exception e)
            {
                if (dialogController != null)
                {
                    await dialogController.CloseAsync();
                }

                await _dialogCoordinator.ShowMessageAsync(this, "Error", e.Message);

                Close();
            }
        }
 public void Update(BoxScheme scheme)
 {
     UpdateBoards(scheme.Boards);
     UpdateColumns(scheme.Columns);
     UpdateRows(scheme.Rows);
 }