public BookViewModel(BookToken token) { Requires.NotNull(token, nameof(token)); Token = token; Sheets = new ObservableCollection <SheetViewModel>(); Windows = new BookWindowsViewModel(); Activate = new RelayCommand(obj => SessionCommands.ActivateBook(Token.Id)); }
public static BookWindowsViewModel GetBookWindows(BookToken token) { Requires.NotNull(token, nameof(token)); var result = new BookWindowsViewModel(); foreach (var windowToken in token.Windows) { result.Windows.Add(ConvertWindow(windowToken)); } return(result); }
public static BookViewModel ConvertBook(BookToken token) { Requires.NotNull(token, nameof(token)); var result = new BookViewModel(token) { Windows = GetBookWindows(token) }; var activeSheets = token.Windows .Select(w => new ActiveSheet(w.Id.WindowIndex, w.ActiveSheetId?.SheetName)) .ToArray(); foreach (var sheetToken in token.Sheets) { result.Sheets.Add(GetSheet(sheetToken, activeSheets)); } return(result); }