/// <summary> /// Create a new prompt in the specified language /// </summary> /// <param name="culture">Language that the translation is for</param> /// <param name="viewPath">Path to view. You can use <see cref="ViewPromptKey.GetViewPath"/></param> /// <param name="textName">Text to translate</param> /// <param name="translatedText">Translated text</param> public void CreatePrompt(CultureInfo culture, string viewPath, string textName, string translatedText) { if (culture == null) { throw new ArgumentNullException("culture"); } if (viewPath == null) { throw new ArgumentNullException("viewPath"); } if (textName == null) { throw new ArgumentNullException("textName"); } if (translatedText == null) { throw new ArgumentNullException("translatedText"); } var prompt = new ViewPrompt { Key = new ViewPromptKey(viewPath, textName), LocaleId = culture.LCID, TextName = textName, TranslatedText = translatedText, ViewPath = viewPath }; Create(prompt); }
/// <summary> /// Create a new prompt in the specified language /// </summary> /// <param name="culture"> Language that the translation is for </param> /// <param name="viewPath"> Path to view. You can use <see cref="ViewPromptKey.GetViewPath" /> </param> /// <param name="textName"> Text to translate </param> /// <param name="translatedText"> Translated text </param> public void CreatePrompt(CultureInfo culture, string viewPath, string textName, string translatedText) { if (culture == null) { throw new ArgumentNullException("culture"); } if (viewPath == null) { throw new ArgumentNullException("viewPath"); } if (textName == null) { throw new ArgumentNullException("textName"); } if (translatedText == null) { throw new ArgumentNullException("translatedText"); } var key = new ViewPromptKey(viewPath, textName); var prompt = new ViewPrompt { Key = key, TranslatedText = translatedText, LocaleId = culture.LCID, TextName = textName, ViewPath = viewPath }; var language = GetLanguage(culture); if (language == null) { var prompts = GetAllPrompts(culture, DefaultUICulture.Value, new SearchFilter()); var collection = new ViewPromptCollection(culture); collection.AddRange(prompts); // dont forget to translate var dbPrompt = collection.Get(key); if (dbPrompt == null) { collection.Add(prompt); } else { dbPrompt.TranslatedText = translatedText; } language = _languages[culture]; } else { language.Add(prompt); } SaveLanguage(culture, language); }
/// <summary> /// Initializes a new instance of the <see cref="ViewPromptDocument"/> class. /// </summary> /// <param name="prompt">The prompt to copy.</param> public ViewPromptDocument(ViewPrompt prompt) { if (prompt == null) { throw new ArgumentNullException("prompt"); } ViewPath = prompt.ViewPath; UpdatedAt = DateTime.Now; UpdatedBy = Thread.CurrentPrincipal.Identity.Name; LocaleId = prompt.LocaleId; TextKey = prompt.Key.ToString(); TextName = prompt.TextName; Text = prompt.TranslatedText; }
private void Update(ViewPrompt prompt) { var sql = @"UPDATE LocalizedViews SET Value = @value, UpdatedAt = @updat, UpdatedBy = @updby WHERE LocaleId=@lcid AND [Key]=@key"; using (var cmd = _db.Connection.CreateCommand()) { cmd.AddParameter("lcid", prompt.LocaleId); cmd.AddParameter("key", prompt.Key.ToString()); cmd.AddParameter("value", prompt.TranslatedText); cmd.AddParameter("updat", DateTime.Now); cmd.AddParameter("updby", Thread.CurrentPrincipal.Identity.Name); cmd.CommandText = sql; cmd.ExecuteNonQuery(); } }
private void Create(ViewPrompt prompt) { var sql = @"INSERT INTO LocalizedViews (LocaleId, ViewPath, TextName, [Key], Value, UpdatedAt, UpdatedBy) VALUES (@lcid, @ViewPath, @textName, @key, @value, @updat, @updby)"; using (var cmd = _db.Connection.CreateCommand()) { cmd.AddParameter("lcid", prompt.LocaleId); cmd.AddParameter("ViewPath", prompt.ViewPath); cmd.AddParameter("textname", prompt.TextName); cmd.AddParameter("key", prompt.Key.ToString()); cmd.AddParameter("value", prompt.TranslatedText); cmd.AddParameter("updat", DateTime.Now); cmd.AddParameter("updby", Thread.CurrentPrincipal.Identity.Name); cmd.CommandText = sql; cmd.ExecuteNonQuery(); } }
/// <summary> /// Save/Update a text prompt /// </summary> /// <param name="culture">Language to save prompt in</param> /// <param name="viewPath">Path to view. You can use <see cref="ViewPromptKey.GetViewPath"/></param> /// <param name="textName">Text to translate</param> /// <param name="translatedText">Translated text</param> public void Save(CultureInfo culture, string viewPath, string textName, string translatedText) { if (culture == null) { throw new ArgumentNullException("culture"); } if (viewPath == null) { throw new ArgumentNullException("viewPath"); } if (textName == null) { throw new ArgumentNullException("textName"); } if (translatedText == null) { throw new ArgumentNullException("translatedText"); } var prompt = new ViewPrompt { Key = new ViewPromptKey(viewPath, textName), LocaleId = culture.LCID, TextName = textName, TranslatedText = translatedText, ViewPath = viewPath }; if (Exists(culture, prompt.Key.ToString())) { Update(prompt); } else { Create(prompt); } }
/// <summary> /// Create a new prompt in the specified language /// </summary> /// <param name="culture">Language that the translation is for</param> /// <param name="viewPath">Path to view. You can use <see cref="ViewPromptKey.GetViewPath"/></param> /// <param name="textName">Text to translate</param> /// <param name="translatedText">Translated text</param> public void CreatePrompt(CultureInfo culture, string viewPath, string textName, string translatedText) { if (culture == null) throw new ArgumentNullException("culture"); if (viewPath == null) throw new ArgumentNullException("viewPath"); if (textName == null) throw new ArgumentNullException("textName"); if (translatedText == null) throw new ArgumentNullException("translatedText"); var prompt = new ViewPrompt { Key = new ViewPromptKey(viewPath, textName), LocaleId = culture.LCID, TextName = textName, TranslatedText = translatedText, ViewPath = viewPath }; Create(prompt); }