Example #1
0
        public int RegisterPhraseText(string text, string referenceName, string createdBy)
        {
            if (text != "")
            {
                Phrase p = GetPhraseByText(text);
                // if phrase already exists just create a new reference otherwise add phrase
                if (p == null)
                {
                    PhraseTableAdapter adapter = new PhraseTableAdapter();
                    int?id = 0;
                    adapter.Insert(text, "", "", DateTime.Now, createdBy, DateTime.Now, createdBy, ref id);

                    //add translations
                    List <Language> langs = GetAllLanguages();
                    foreach (Language lang in langs)
                    {
                        if (lang.Code == DefaultLanguageCode)
                        {
                            AddTranslation((int)id, lang.Code, text, TranslationStatus.Translated, createdBy);
                        }
                        else
                        {
                            AddTranslation((int)id, lang.Code, text, TranslationStatus.AwaitingTranslation, createdBy);
                        }
                    }
                    p = GetPhrase((int)id);
                }

                PhraseReferenceTableAdapter refAdapter = new PhraseReferenceTableAdapter();
                int?refId = 0;
                refAdapter.Insert(p.Id, referenceName, ref refId);
                return((int)refId);
            }
            return(0);
        }
Example #2
0
        public Phrase GetPhraseByText(string text)
        {
            PhraseTableAdapter adapter = new PhraseTableAdapter();

            MultiLingualData.PhraseDataTable table = adapter.GetPhraseByText(text);
            if (table.Count == 0)
            {
                return(null);
            }
            return(MultiLingualHelper.ToPhraseDTO(table[0], DefaultLanguageCode));
        }
Example #3
0
        public Phrase GetPhraseByReferenceId(int referenceId)
        {
            PhraseTableAdapter adapter = new PhraseTableAdapter();

            MultiLingualData.PhraseDataTable table = adapter.GetPhraseByReferenceId(referenceId);
            if (table.Count == 0)
            {
                return(null);
            }
            return(MultiLingualHelper.ToPhraseDTO(table[0], DefaultLanguageCode));
        }
Example #4
0
        public void DeletePhrase(int phraseId)
        {
            if (!Enabled)
            {
                throw new TranslationException("Cannot delete phrase - multilingual service is disabled.");
            }

            PhraseTableAdapter adapter = new PhraseTableAdapter();

            adapter.Delete(phraseId);
        }
Example #5
0
        public Phrase UpdatePhraseText(int phraseId, string text, string updatedBy)
        {
            PhraseTableAdapter adapter = new PhraseTableAdapter();

            MultiLingualData.PhraseDataTable table = adapter.GetPhrase(phraseId);
            if (table.Count == 0)
            {
                return(null);
            }
            MultiLingualData.PhraseRow row = table[0];
            row.defaultPhrase = text;
            row.lastEditedBy  = updatedBy;
            adapter.Update(row);
            UpdateTranslation(row.id, DefaultLanguageCode, text, TranslationStatus.Translated, updatedBy);
            return(MultiLingualHelper.ToPhraseDTO(row, DefaultLanguageCode));
        }
Example #6
0
        public bool UpdateDefaultTranslation(int referenceId, string text, string updatedBy)
        {
            PhraseTableAdapter adapter = new PhraseTableAdapter();

            MultiLingualData.PhraseDataTable table = adapter.GetPhraseByReferenceId(referenceId);
            if (table.Count == 0)
            {
                return(false);
            }
            MultiLingualData.PhraseRow row = table[0];
            row.defaultPhrase = text;
            row.lastEditedBy  = updatedBy;
            adapter.Update(row);
            UpdateTranslation(row.id, DefaultLanguageCode, text, TranslationStatus.Translated, updatedBy);
            return(true);
        }