/// <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); }
/// <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); }
/// <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"))); } }