コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
        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();
            }
        }
コード例 #5
0
        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();
            }
        }
コード例 #6
0
        /// <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);
            }
        }
コード例 #7
0
        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();
            }
        }
コード例 #8
0
        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();
            }
        }
コード例 #9
0
        /// <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);
        }