Example #1
0
        /// <summary>
        /// �����д�
        /// </summary>
        /// <param name="words">��дʼ���</param>
        /// <param name="typeId">������Id</param>
        public void BatchCreate(IList <string> words, int?typeId)
        {
            if (words == null)
            {
                return;
            }

            words = words.Distinct().ToList();

            List <SensitiveWord> sensitiveWords = new List <SensitiveWord>();

            foreach (string word in words)
            {
                SensitiveWord sensitiveWord = SensitiveWord.New();
                if (word.Contains("="))
                {
                    string[] parts = word.Split('=');

                    if (parts.Count() == 2)
                    {
                        sensitiveWord.Word        = parts[0];
                        sensitiveWord.Replacement = parts[1];
                    }
                }
                else
                {
                    sensitiveWord.Word        = word;
                    sensitiveWord.Replacement = "*";
                }

                if (typeId.HasValue)
                {
                    sensitiveWord.TypeId = typeId.Value;
                }

                sensitiveWords.Add(sensitiveWord);
            }

            EventBus <SensitiveWord> .Instance().OnBatchBefore(sensitiveWords, new CommonEventArgs(EventOperationType.Instance().Create()));

            sensitiveWordRepository.BatchInsert(sensitiveWords);
            EventBus <SensitiveWord> .Instance().OnBatchAfter(sensitiveWords, new CommonEventArgs(EventOperationType.Instance().Create()));
        }