private Workspace(string workspaceName, bool createNew = false, string languageCode = null) { // Код языка должен быть задан, если создаем новую рабочую область Debug.Assert(!createNew || languageCode != null); m_name = workspaceName; string workspacePath = GetWorkspaceDirectory(m_name); string repositoryFileName = Path.Combine(workspacePath, "data.db"); if (createNew) m_repository = WorkspaceRepository.CreateNew(repositoryFileName, languageCode); else { m_repository = WorkspaceRepository.OpenExisting(repositoryFileName); // Если файла репозитория не существует if (m_repository == null) throw new Exception("database is not found"); } // Апдейтим кэшируемые данные InitialUpdate(); }
public Article(Workspace workspace, WorkspaceRepository repository, string articleName) { m_workspace = workspace; m_repository = repository; Name = articleName; // Запрашиваем текст статьи у БД WorkspaceRepository.FinishedText originalFinishedText = m_repository.GetArticleText(Name); // Создаем оригинальный текст статьи OriginalText = new TextInLanguage(workspace.Language.Code, originalFinishedText.text, originalFinishedText.finished); CurrentArtisticalTranslation = null; UpdateTranslationUnits(); }
public Article(Workspace workspace, WorkspaceRepository repository, string articleName) { m_workspace = workspace; m_repository = repository; Name = articleName; // Запрашиваем текст статьи у БД WorkspaceRepository.FinishedText originalFinishedText = m_repository.GetArticleText(Name); // Создаем оригинальный текст статьи OriginalText = new TextInLanguage(workspace.Language.Code, originalFinishedText.text, originalFinishedText.finished); CurrentArtisticalTranslation = null; UpdateTranslationUnits(); }