/// <summary> /// Remove a fixed rule from the Database. /// </summary> /// <param name="fixedrule">The fixed rule rule to remove</param> /// <returns>true if the rule is successfully deleted and false otherwise.</returns> public bool DeleteFixedRule(Fixedrule fixrule) { bool value = false; try { if (fixrule.RuleId != 0) { using (var context = new UTSDatabaseEntities()) { var saved = context.Fixedrules.Find(fixrule.RuleId); context.Fixedrules.Remove(saved); context.SaveChanges(); value = true; return(value); } } else { return(value); } } catch (NullReferenceException) { return(false); } }
public void DeleteFixedRule_InvalidRuleId_ReturnsFalse() { //Arrange Configure fixRuleTest = new Configure(); Fixedrule fxrule = new Fixedrule { RuleId = 0 }; //Act bool isRuleDeleted = fixRuleTest.DeleteFixedRule(fxrule); //Assert Assert.IsFalse(isRuleDeleted, "Rule doen not exsist."); }
/// <summary> /// This fnuction approves or rejects fixed rules as requested /// </summary> /// <param name="fixrule"> Is a refernece of Fixedrule which helps to access the values stored in the variables of fixed rule and /// stores the value entered by a user and other values.</param> /// <param name="selectedValue">The value selected as approved or rejected</param> /// <returns>true if the chnages are done nd saved , false otherwise</returns> public bool ApproveRejectRule(Fixedrule fixrule, string selectedValue) { using (var usersDbContext = new UsersEntities()) { bool isSaved = false; using (var context = new UTSDatabaseEntities()) { Fixedrule storedRule = context.Fixedrules.Find(fixrule.RuleId); storedRule.Status = selectedValue == "Approve" ? (RulesStatus.Approved).ToString() : (RulesStatus.Rejected).ToString(); context.SaveChanges(); isSaved = true; } return(isSaved); } }
public void DeleteFixedRule_ValidRuleId_ReturnsTrue() { //Arrange Configure fixRuleTest = new Configure(); Fixedrule fxrule = new Fixedrule { RuleId = 43 //Put rule id on final day }; //Act bool isRuleDeleted = fixRuleTest.DeleteFixedRule(fxrule); //Assert Assert.IsTrue(isRuleDeleted, "Rule Deleted."); }
public void SaveFixedRule_ValidData_returnsTrue() { //Arrange Configure fixRuleTest = new Configure(); Fixedrule fxrule = new Fixedrule() { Query = "Hello ChatBot. How are you?", Response = "Hi ChatBot user. Always in service. " }; //Act bool isRuleSaved = fixRuleTest.SaveFixedRule(fxrule, "*****@*****.**"); //Assert Assert.AreEqual(true, isRuleSaved); }
public void SaveFixedRule_QueryAlreadyExsists_returnsFalse() { //Arrange Configure fixRuleSave = new Configure(); Fixedrule fxrule = new Fixedrule() { Query = "Hello", Response = "hi" }; //Act bool isRuleSaved = fixRuleSave.SaveFixedRule(fxrule, "*****@*****.**"); //Assert Assert.IsFalse(isRuleSaved, "Query Already exsists"); }
public void SaveFixedRule_QueryOrResponseIsNull_returnsFalse() { //Arrange Configure fixRuleSave = new Configure(); Fixedrule fxrule = new Fixedrule { Query = null, Response = null }; //Act bool isRuleSaved = fixRuleSave.SaveFixedRule(fxrule, "*****@*****.**"); //Assert Assert.IsFalse(isRuleSaved, "Rule Not Saved"); }
/// <summary> /// This funtion represts the logic to edit an exsiting fixed rule which is requested by the user. /// </summary> /// <param name="fixrule"> Is a refernece of Fixedrule which helps to access the values stored in the variables of fixed rule and /// stores the value entered by a user and other values.</param> /// <param name="loggedinUser">The session email of the logged in user (user.identity.name)</param> /// <returns>true if the rule is editted and flase when the rule can not be editted</returns> public bool EditFixedRule(Fixedrule fixrule, string loggedinUser) { using (var usersDbContext = new UsersEntities()) { bool isSaved = false; string userid = (from row in usersDbContext.AspNetUsers where row.UserName == loggedinUser select row.Id).First(); if (fixrule.Query == "" && fixrule.Response == "") { return(isSaved); } /* else if (fixrule.Query == null && fixrule.Response == null) * return isSaved;*/ else { using (var context = new UTSDatabaseEntities()) { var query_search = (from row in context.Fixedrules where row.Query == fixrule.Query select row.Query).FirstOrDefault(); if (query_search.ToLower() == fixrule.Query.ToLower()) { return(isSaved); } else { var stored = context.Fixedrules.Find(fixrule.RuleId); var oldvalue = stored; stored.Status = RulesStatus.Updated.ToString(); stored.Query = fixrule.Query; stored.Response = fixrule.Response; stored.LastUpdatedby = loggedinUser; context.Entry(oldvalue).CurrentValues.SetValues(stored); context.SaveChanges(); isSaved = true; return(isSaved); } } } } }
public ActionResult Edit(Fixedrule fixrule) { if (!ModelState.IsValid) { return(View(fixrule)); } bool fixRuleEdit = configure.EditFixedRule(fixrule, User.Identity.Name); if (fixRuleEdit) { return(RedirectToAction("Index")); } else { ViewBag.Error = "This Query Already Exists."; return(View()); } }
public ActionResult Create([Bind(Include = "Query, Response")] Fixedrule fixedrule) { if (!ModelState.IsValid) { return(View(fixedrule)); } bool fixRuleSave = configure.SaveFixedRule(fixedrule, User.Identity.Name); if (fixRuleSave == true) { return(RedirectToAction("Index")); } else { ViewBag.Error = "This Query Already Exists."; return(View()); } }
/// <summary> /// This funtion represts the logic to save a fixed rule which is requested by the user. /// </summary> /// <param name="fixrule"> Is a refernece of Fixedrule which helps to access th values stored in the variables of fixed rule and /// stores the value entered by a user and other values.</param> /// <param name="loggedinUser">The session email of the logged in user (user.identity.name)</param> /// <returns>Returns true when the rule is saved and false when the rule is not saved or already exsits</returns> public bool SaveFixedRule(Fixedrule fixrule, string loggedinUser) { using (var usersDbContext = new UsersEntities()) { string userid = (from row in usersDbContext.AspNetUsers where row.UserName == loggedinUser select row.Id).First(); bool isSaved = false; if (fixrule.Query == "" && fixrule.Response == "") { return(isSaved); } else if (fixrule.Query == null && fixrule.Response == null) { return(isSaved); } else { using (var context = new UTSDatabaseEntities()) { var query = (from row in context.Fixedrules where row.Query == fixrule.Query select row.Query).FirstOrDefault(); //checking if the rule already exsists if (query == fixrule.Query) { return(isSaved); } fixrule.Type = "Fixed"; fixrule.Createdby = loggedinUser; fixrule.LastUpdatedby = loggedinUser; fixrule.UserId = userid; fixrule.Status = RulesStatus.Created.ToString(); context.Fixedrules.Add(fixrule); context.SaveChanges(); isSaved = true; return(isSaved); } } } }
public void Creat_QueryExsistInDb_ReturnsToCreateView() { var controller = new FixedRulesController(); Fixedrule fxrule = new Fixedrule() { Query = "Hello", UserRequest = "Hello", SystemResponse = "hi", Response = "hi", Createdby = "*****@*****.**" }; var result = controller.Create(fxrule) as ViewResult; try { Assert.AreEqual("Create", result.ViewName); } catch { Assert.IsNull(result); } // viewbag error then create view since the rule already exsists }