public void LoadGraphFromFile() { if (CheckGraphForClearing()) { try { var dialog = new FileDialogViewModel(FileDialogMode.Open); var res = WindowManager.ShowDialog(dialog); if (res.HasValue && res.Value) { var filter = _repository.GetFilterForSourceFileType(dialog.SourceType); var fileName = DialogPresenter.ShowFileOpenDialog(filter); if (String.IsNullOrEmpty(fileName)) { return; } _repository.LoadFromFile(Document, fileName, dialog.SourceType); EllipseVerticesPositionIfNeed(); UndoRedoManager.Instance.Clear(); Init(); Title = ProjectName + $" - {fileName}"; } } catch (Exception e) { ShowError(e); } } }