public ActionResult SaveCanvasRules(CanvasResponderSaveModel model) { if (model != null) { if (string.IsNullOrEmpty(model.CanvasRuleTitle)) { return(Json(new { Success = false, Message = "Title is required." }, JsonRequestBehavior.AllowGet)); } if (string.IsNullOrEmpty(model.Answer)) { return(Json(new { Success = false, Message = "Answer is required." }, JsonRequestBehavior.AllowGet)); } if (model.CanvasRuleId <= 0 && (model.AnsweringRules == null || model.AnsweringRules.Count <= 0)) { return(Json(new { Success = false, Message = "Atleast 1 rule is required to save." }, JsonRequestBehavior.AllowGet)); } if (model.CanvasRuleId <= 0) { return(AddNewRule(model)); } else { return(UpdateRule(model)); } } return(Json(new { Success = false, Message = Constants.ERROR_IN_EXECUTION }, JsonRequestBehavior.AllowGet)); }
public ActionResult RuleDetails1(int?id) { CanvasResponderSaveModel model = new CanvasResponderSaveModel(); model.AnsweringRules = new List <CanvasAnsweringRules>(); if (id != null && id > 0) { CanvasRespondRule aRule = (from r in base.db.CanvasRespondRules where (r.CanvasRuleId == id) select r) .FirstOrDefault(); if (aRule != null) { List <CanvasRespondRuleQuestion> lstQuestions = (from q in base.db.CanvasRespondRuleQuestions orderby q.CanvasQuestion where (q.Active == null || q.Active == true) select q) .ToList(); model.Active = Convert.ToBoolean(aRule.Active); model.Answer = aRule.CanvasAnswer; model.RuleForId = aRule.CanvasRuleForId == null ? ((byte)0) : aRule.CanvasRuleForId.Value; } } return(View(model)); }
private ActionResult UpdateRule(CanvasResponderSaveModel model) { if (model != null) { CanvasRespondRule aRule = (from r in base.db.CanvasRespondRules where (r.CanvasRuleId == model.CanvasRuleId) select r) .FirstOrDefault(); if (aRule != null) { //aRule.Active = model.Active; aRule.CanvasAnswer = model.Answer; aRule.CanvasRuleForId = model.RuleForId; aRule.CanvasRuleTitle = aRule.CanvasRuleTitle; aRule.UpdatedOn = DateTime.Now; db.Entry(aRule).State = System.Data.Entity.EntityState.Modified; int iRowCount = db.SaveChanges(); if (iRowCount > 0) { if (model.AnsweringRules != null && model.AnsweringRules.Count > 0) { foreach (var aQuestion in model.AnsweringRules) { CanvasRespondRuleQuestion newQuestion = new CanvasRespondRuleQuestion() { Active = true , CanvasQuestion = aQuestion.Question , CanvasRuleId = aRule.CanvasRuleId , CreatedOn = DateTime.Now , MatchType = aQuestion.MatchType }; base.db.CanvasRespondRuleQuestions.Add(newQuestion); } base.db.SaveChanges(); } return(Json(new { Success = true, Message = string.Empty }, JsonRequestBehavior.AllowGet)); } } } return(Json(new { Success = false, Message = Constants.ERROR_IN_EXECUTION }, JsonRequestBehavior.AllowGet)); }
private ActionResult AddNewRule(CanvasResponderSaveModel model) { if (model != null) { CanvasRespondRule aAnswer = new CanvasRespondRule() { CanvasAnswer = model.Answer , CreatedOn = DateTime.Now , CanvasRuleForId = model.RuleForId , Active = true , CanvasRuleId = model.CanvasRuleId , CanvasRuleTitle = model.CanvasRuleTitle }; base.db.CanvasRespondRules.Add(aAnswer); try { base.db.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } if (aAnswer.CanvasRuleId > 0) { if (model.AnsweringRules != null && model.AnsweringRules.Count > 0) { foreach (var aQuestion in model.AnsweringRules) { CanvasRespondRuleQuestion aRule = new CanvasRespondRuleQuestion() { Active = true , CanvasQuestion = aQuestion.Question , CanvasRuleId = aAnswer.CanvasRuleId , CreatedOn = DateTime.Now , MatchType = aQuestion.MatchType }; base.db.CanvasRespondRuleQuestions.Add(aRule); } base.db.SaveChanges(); return(Json(new { Success = true, Message = string.Empty }, JsonRequestBehavior.AllowGet)); } } } return(Json(new { Success = false, Message = Constants.ERROR_IN_EXECUTION }, JsonRequestBehavior.AllowGet)); }