public void AddTextHasOriginalTextAndTwoTranslation()
        {
            var tpm = new TranslatePageModel()
                          {
                              Feature = RandomData.GetString(),
                              OriginalText = RandomData.GetString(),
                              LanguageToSave = Models.Localization.SupportedLanguage.English,
                              SelectedLanguage = Models.Localization.SupportedLanguage.English,
                              TranslatedText = RandomData.GetString()
                          };

            this.localizationEditor.AddUpdateOriginalText(tpm);

            var tpm2 = new TranslatePageModel()
            {
                Feature = tpm.Feature,
                OriginalText = tpm.OriginalText,
                LanguageToSave = Models.Localization.SupportedLanguage.Finnish,
                SelectedLanguage = Models.Localization.SupportedLanguage.Finnish,
                TranslatedText = RandomData.GetString()
            };

            this.localizationEditor.AddUpdateOriginalText(tpm2);

            var originalText = this.generalDbDataHelper.Get<OriginalText>(ot => ot.Feature == tpm.Feature && ot.Original == tpm.OriginalText);

            originalText.OriginalTextTranslations.Count.ShouldBeEquivalentTo(2);
            originalText.OriginalTextTranslations.Count(t => t.Language == SupportedLanguage.English && t.Translation == tpm.TranslatedText).ShouldBeEquivalentTo(1);
            originalText.OriginalTextTranslations.Count(t => t.Language == SupportedLanguage.Finnish && t.Translation == tpm2.TranslatedText).ShouldBeEquivalentTo(1);

            var model = this.localizationEditor.GetTranslatePageModel(tpm.OriginalText, tpm.Feature);
            model.TranslatedText.ShouldBeEquivalentTo(tpm.TranslatedText);

            model = this.localizationEditor.GetTranslatePageModel(tpm.OriginalText, tpm.Feature, Models.Localization.SupportedLanguage.Swedish);
            model.TranslatedText.ShouldBeEquivalentTo(string.Empty);
        }
示例#2
0
 private void AddUpdate(TranslatePageModel model)
 {
     this.LocalManager.AddUpdateOriginalText(model);
 }
        public virtual ActionResult TextTranslation(TranslatePageModel model)
        {
            if (model == null)
            {
                throw new ArgumentException("Passed model (TranslatePageModel) is null");
            }

            this.LocalEditor.AddUpdateOriginalText(model);
            if (model.IsReturnBack)
            {
                string absoluteReturnUrl = this.Session["callerURL"].ToString();
                this.Session.Remove("callerURL");
                return base.RedirectBack(absoluteReturnLink: absoluteReturnUrl);
            }

            return this.RedirectToAction(MVC.Localization.TextTranslationByLanguage(model.OriginalText, model.Feature, model.SelectedLanguage));
        }
        private void AddUpdate(TranslatePageModel model)
        {
            var oringMain = new db.OriginalText
                {

                    Feature = model.Feature,
                    Original = model.Text,
                    OriginalTextTranslations = new List<db.OriginalTextTranslation>
                    {
                        new db.OriginalTextTranslation
                        {
                            Language = model.SelectedTranslatePageTranslationModel.Language.ToDbObject(),
                            Translation = model.SelectedTranslatePageTranslationModel.TranslatedText
                        }
                    }
                };

            //var origText = this.DbContext.Get<OriginalText>(o => o.Original == model.Text && o.Feature == model.Feature);
            var dborignText = this.dbH.Get<db.OriginalText>(o => o.Original == model.Text && o.Feature == model.Feature);

            if (dborignText != null)
            {
                foreach (var item in oringMain.OriginalTextTranslations)
                {
                    db.OriginalTextTranslation txtTRans = dborignText.OriginalTextTranslations.Where(o => o.Language == item.Language).FirstOrDefault();
                    item.OriginalTextId = dborignText.Id;

                    if (txtTRans == null)
                    {
                        this.dbH.Create<db.OriginalTextTranslation>(item);

                        Console.WriteLine("Create WebElementTranslation");
                        this.dbH.FlushChanges();
                        this.UpdateCounter++;
                    }
                    else
                    {
                        if (item.Translation.ToUpperInvariant().Trim() != txtTRans.Translation.ToUpperInvariant().Trim())
                        {
                            txtTRans.Translation = item.Translation;
                            this.dbH.Update<db.OriginalTextTranslation>(txtTRans);
                            Console.WriteLine("Update WebElementTranslation");
                            this.dbH.FlushChanges();
                            this.UpdateCounter++;
                        }
                    }

                }
            }
            else
            {
                this.dbH.Create<db.OriginalText>(oringMain);
                this.dbH.FlushChanges();
                Console.WriteLine("Create: {0}", model.Text);
            }
        }