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