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