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