Beispiel #1
0
 /// <summary>
 /// Delete the given data-driven rule
 /// </summary>
 /// <param name="rule">The given rule</param>
 public void DeleteDataDrivenRule(DataDrivenRules rule)
 {
     using (Context context = new Context())
     {
         var deletedRule = context.DataDrivenRules.Find(rule.Id);
         context.DataDrivenRules.Remove(deletedRule);
         context.SaveChanges();
     }
 }
        public void AddNewDataDrivenRules_InvalidRules_ThrowError(string question, string questionColumn, string answer, string answerColumn)
        {
            DataDrivenRules rule = new DataDrivenRules();

            rule.Question       = question;
            rule.QuestionColumn = questionColumn;
            rule.Answer         = answer;
            rule.AnswerColumn   = answerColumn;
            rule.CurrentStatus  = "Unchecked";
            rule.LastEditorID   = "*****@*****.**";

            Assert.That(() => rulesEditor.AddDataDrivenRule(rule), Throws.Exception);
        }
        public void UpdateDataDrivenRules_UnchangedRules_NoError()
        {
            DataDrivenRules rule = new DataDrivenRules();

            rule.Id             = 33;
            rule.Question       = "What should I wear on * ?";
            rule.QuestionColumn = "Day";
            rule.Answer         = "You should wear *";
            rule.AnswerColumn   = "Outfit";
            rule.CurrentStatus  = "Unchecked";
            rule.LastEditorID   = "*****@*****.**";

            Assert.That(() => rulesEditor.UpdateDataDrivenRule(rule),
                        Throws.Nothing);
        }
Beispiel #4
0
        /// <summary>
        /// Add new data-driven rule
        /// </summary>
        /// <param name="rule">The new rule to be added</param>
        public void AddDataDrivenRule(DataDrivenRules rule)
        {
            // Check if this rule exists before adding and check if the rule itself is valid.
            ValidateDataDrivenRule(rule.Question, rule.QuestionColumn, rule.Answer, rule.AnswerColumn, 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.DataDrivenRules.Add(rule);
                context.SaveChanges();
            }
        }
        public void AddNewDataDrivenRules_DuplicatedRules_ThrowError()
        {
            DataDrivenRules rule = new DataDrivenRules();

            rule.Question       = "What outfit should be prepared on *?";
            rule.QuestionColumn = "Day";
            rule.Answer         = "Probably *";
            rule.AnswerColumn   = "Outfit";
            rule.CurrentStatus  = "Unchecked";
            rule.LastEditorID   = "*****@*****.**";

            rulesEditor.AddDataDrivenRule(rule);

            Assert.That(() => rulesEditor.AddDataDrivenRule(rule),
                        Throws.Exception);
        }
Beispiel #6
0
        /// <summary>
        /// Update the given data-driven rule
        /// </summary>
        /// <param name="rule">the given rule</param>
        public void UpdateDataDrivenRule(DataDrivenRules rule)
        {
            // Check if this rule exists before editing and check if the rule itself is valid.
            ValidateDataDrivenRule(rule.Question, rule.QuestionColumn, rule.Answer, rule.AnswerColumn, 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.DataDrivenRules.Find(rule.Id);
                if (updatedRule != null)
                {
                    context.Entry(updatedRule).CurrentValues.SetValues(rule);
                    context.SaveChanges();
                }
            }
        }
 public ActionResult UpdateDataDrivenRule(DataDrivenRules rule)
 {
     try
     {
         if (ModelState.IsValid)
         {
             rule.LastEditorID = User.Identity.Name;
             rulesEditor.UpdateDataDrivenRule(rule);
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View(rule));
         }
     }
     catch (Exception e)
     {
         return(View("Error", new HandleErrorInfo(e, "Editor", "UpdateDataDrivenRule")));
     }
 }
 public ActionResult AddDataDrivenRule([Bind(Include = "Question,QuestionColumn,Answer,AnswerColumn")] DataDrivenRules rule)
 {
     try
     {
         if (ModelState.IsValid)
         {
             rule.CurrentStatus = "Unchecked";
             rule.LastEditorID  = User.Identity.Name;
             rulesEditor.AddDataDrivenRule(rule);
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View(rule));
         }
     }
     catch (Exception e)
     {
         return(View("Error", new HandleErrorInfo(e, "Editor", "AddDataDrivenRule")));
     }
 }