Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();

        }