private ViewPrompt CreatePrompt(ViewPromptDocument prompt) { return(new ViewPrompt { ViewPath = prompt.ViewPath, LocaleId = prompt.LocaleId, Key = new ViewPromptKey(prompt.TextKey), TextName = prompt.TextName, TranslatedText = prompt.Text }); }
/// <summary> /// Initializes a new instance of the <see cref="ViewPromptDocument"/> class. /// </summary> /// <param name="prompt">The prompt to copy.</param> public ViewPromptDocument(ViewPromptDocument prompt) { if (prompt == null) throw new ArgumentNullException("prompt"); ViewPath = prompt.ViewPath; TextName = prompt.TextName; TextKey = prompt.TextKey; LocaleId = prompt.LocaleId; UpdatedAt = prompt.UpdatedAt; UpdatedBy = prompt.UpdatedBy; Text = prompt.Text; }
/// <summary> /// Initializes a new instance of the <see cref="ViewPromptDocument"/> class. /// </summary> /// <param name="prompt">The prompt to copy.</param> public ViewPromptDocument(ViewPromptDocument prompt) { if (prompt == null) { throw new ArgumentNullException("prompt"); } ViewPath = prompt.ViewPath; TextName = prompt.TextName; TextKey = prompt.TextKey; LocaleId = prompt.LocaleId; UpdatedAt = prompt.UpdatedAt; UpdatedBy = prompt.UpdatedBy; Text = prompt.Text; }
/// <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 key = new ViewPromptKey(viewPath, textName); var language = GetOrCreateLanguage(culture, culture); var dbPrompt = language.Prompts.FirstOrDefault(p => p.TextKey == key.ToString()); if (dbPrompt != null) { dbPrompt.Text = translatedText; dbPrompt.UpdatedAt = DateTime.Now; dbPrompt.UpdatedBy = Thread.CurrentPrincipal.Identity.Name; } else { dbPrompt = new ViewPromptDocument { LocaleId = culture.LCID, TextName = textName, Text = translatedText, TextKey = key.ToString(), UpdatedAt = DateTime.Now, UpdatedBy = Thread.CurrentPrincipal.Identity.Name }; language.Prompts.Add(dbPrompt); } _logger.Debug("Saving prompt " + dbPrompt.ViewPath + "/" + dbPrompt.TextName); _documentSession.Store(language); _documentSession.SaveChanges(); }
/// <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 language = GetOrCreateLanguage(culture, culture); var dbPrompt = language.Prompts.FirstOrDefault(p => p.TextKey == key.ToString()); if (dbPrompt == null) { _logger.Debug("Created prompt " + viewPath + " " + textName); dbPrompt = new ViewPromptDocument { TextKey = key.ToString(), Text = translatedText, LocaleId = culture.LCID, TextName = textName, ViewPath = viewPath, UpdatedAt = DateTime.Today, UpdatedBy = Thread.CurrentPrincipal.Identity.Name }; language.Prompts.Add(dbPrompt); } else { dbPrompt.Text = translatedText; } SetAsModified(language); }
private ViewPrompt CreatePrompt(ViewPromptDocument prompt) { return new ViewPrompt { ViewPath = prompt.ViewPath, LocaleId = prompt.LocaleId, Key = new ViewPromptKey(prompt.TextKey), TextName = prompt.TextName, TranslatedText = prompt.Text }; }
/// <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 language = GetOrCreateLanguage(culture, culture); var dbPrompt = language.Prompts.FirstOrDefault(p => p.TextKey == key.ToString()); if (dbPrompt == null) { _logger.Debug("Created prompt " + viewPath + " " + textName); dbPrompt = new ViewPromptDocument { TextKey = key.ToString(), Text = translatedText, LocaleId = culture.LCID, TextName = textName, ViewPath = viewPath, UpdatedAt = DateTime.Today, UpdatedBy = Thread.CurrentPrincipal.Identity.Name }; language.Prompts.Add(dbPrompt); } else { dbPrompt.Text = translatedText; } SetAsModified(language); }
/// <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 key = new ViewPromptKey(viewPath, textName); var language = GetOrCreateLanguage(culture, culture); var dbPrompt = language.Prompts.FirstOrDefault(p => p.TextKey == key.ToString()); if (dbPrompt != null) { dbPrompt.Text = translatedText; dbPrompt.UpdatedAt = DateTime.Now; dbPrompt.UpdatedBy = Thread.CurrentPrincipal.Identity.Name; } else { dbPrompt = new ViewPromptDocument { LocaleId = culture.LCID, TextName = textName, Text = translatedText, TextKey = key.ToString(), UpdatedAt = DateTime.Now, UpdatedBy = Thread.CurrentPrincipal.Identity.Name }; language.Prompts.Add(dbPrompt); } _logger.Debug("Saving prompt " + dbPrompt.ViewPath + "/" + dbPrompt.TextName); _documentSession.Store(language); _documentSession.SaveChanges(); }