コード例 #1
0
 /// <summary>
 /// Delete the given fixed rule
 /// </summary>
 /// <param name="rule">The given rule</param>
 public void DeleteFixedRule(FixedRules rule)
 {
     using (Context context = new Context())
     {
         var deletedRule = context.FixedRules.Find(rule.Id);
         context.FixedRules.Remove(deletedRule);
         context.SaveChanges();
     }
 }
コード例 #2
0
        public void AddNewFixedRules_InvalidRules_ThrowError(string question, string answer)
        {
            FixedRules rule = new FixedRules();

            rule.Question      = question;
            rule.Answer        = answer;
            rule.CurrentStatus = "Unchecked";
            rule.LastEditorID  = "*****@*****.**";
            Assert.That(() => rulesEditor.AddFixedRule(rule), Throws.Exception);
        }
コード例 #3
0
        public void UpdateFixedRules_DuplicateRules_ThrowError()
        {
            FixedRules rule = new FixedRules();

            rule.Id       = 1;
            rule.Question = "Hello!";
            rule.Answer   = "Hi";

            Assert.That(() => rulesEditor.UpdateFixedRule(rule), Throws.Exception);
        }
コード例 #4
0
        /// <summary>
        /// Add new fixed rule
        /// </summary>
        /// <param name="rule">The new rule to be added</param>
        public void AddFixedRule(FixedRules rule)
        {
            // Check if this rule exists before adding and check if the rule itself is valid.
            ValidateFixedRule(rule.Question, rule.Answer, true, 0);

            // If data are valid, add them to the database. Clean the redundant spaces between words.
            rule.Question = Regex.Replace(rule.Question.Trim(), @"\s+", " ", RegexOptions.Compiled);
            rule.Answer   = Regex.Replace(rule.Answer.Trim(), @"\s+", " ", RegexOptions.Compiled);

            using (Context context = new Context())
            {
                context.FixedRules.Add(rule);
                context.SaveChanges();
            }
        }
コード例 #5
0
        /// <summary>
        /// Update given fixed rule
        /// </summary>
        /// <param name="rule">the given rule</param>
        public void UpdateFixedRule(FixedRules rule)
        {
            // Check if this rule exists before editing and check if the rule itself is valid.
            ValidateFixedRule(rule.Question, rule.Answer, false, rule.Id);

            // If data are valid, update them to the database. Clean the redundant spaces between words.
            rule.Question = Regex.Replace(rule.Question.Trim(), @"\s+", " ", RegexOptions.Compiled);
            rule.Answer   = Regex.Replace(rule.Answer.Trim(), @"\s+", " ", RegexOptions.Compiled);

            using (Context context = new Context())
            {
                var updatedRule = context.FixedRules.Find(rule.Id);
                if (updatedRule != null)
                {
                    context.Entry(updatedRule).CurrentValues.SetValues(rule);
                    context.SaveChanges();
                }
            }
        }
コード例 #6
0
 public ActionResult UpdateFixedRule(FixedRules rule)
 {
     try
     {
         if (ModelState.IsValid)
         {
             rule.LastEditorID = User.Identity.Name;
             rulesEditor.UpdateFixedRule(rule);
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View(rule));
         }
     }
     catch (Exception e)
     {
         return(View("Error", new HandleErrorInfo(e, "Editor", "UpdateFixedRule")));
     }
 }
コード例 #7
0
        public ActionResult AddFixedRule([Bind(Include = "Question,Answer")] FixedRules rule)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    rule.CurrentStatus = "Unchecked";
                    rule.LastEditorID  = User.Identity.Name;
                    rulesEditor.AddFixedRule(rule);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(rule));
                }
            }
            catch (Exception e)
            {
                return(View("Error", new HandleErrorInfo(e, "Editor", "AddFixedRule")));
            }
        }