public void AddRuleDetail(BankingRuleDetails ruleDetails) { try { var thisorder = ruleDetails.Order; _ruleDetailsRepository.Add(ruleDetails); _ruleDetailsRepository.SaveChanges(); } catch (Exception ex) { //log exception } }
public void Update(BankingRuleDetails ruleDetails) { try { var thisorder = ruleDetails.Order; if (_ruleDetailsRepository.Find(p => p.Order > thisorder).Count() < 0) { var oldLastRule = _ruleDetailsRepository.Find(p => p.IsLast == true && p.Id != ruleDetails.Id).FirstOrDefault(); if (oldLastRule != null) { ruleDetails.IsLast = true; oldLastRule.IsLast = false; _ruleDetailsRepository.Update(oldLastRule); _ruleDetailsRepository.Update(ruleDetails); _ruleDetailsRepository.SaveChanges(); } } if (_ruleDetailsRepository.Find(p => p.Order < thisorder).Count() < 0) { var oldFirstRule = _ruleDetailsRepository.Find(p => p.IsFirst == true && p.Id != ruleDetails.Id).FirstOrDefault(); if (oldFirstRule != null) { ruleDetails.IsFirst = true; oldFirstRule.IsFirst = false; _ruleDetailsRepository.Update(oldFirstRule); _ruleDetailsRepository.Update(ruleDetails); _ruleDetailsRepository.SaveChanges(); } } } catch (Exception ex) { //log exception } }
public ActionResult AddRuleDetail(AddRuleDetailViewModel model) { var response = new RuleMessage <AddRuleDetailViewModel> { Result = model }; ViewBag.OperandList = new List <SelectListItem> { new SelectListItem { Text = ">", Value = "greaterthan" }, new SelectListItem { Text = ">=", Value = "greaterthanorequalto" }, new SelectListItem { Text = "+", Value = "add" }, new SelectListItem { Text = "-", Value = "subtract" }, new SelectListItem { Text = "!=", Value = "notequal" }, new SelectListItem { Text = "&", Value = "and" }, new SelectListItem { Text = "=", Value = "equals" }, new SelectListItem { Text = "<", Value = "lessthan" }, new SelectListItem { Text = "<=", Value = "lessthanorequalto" }, new SelectListItem { Text = "!", Value = "or" }, }; if (model == null) { response.Message = ""; response.HasError = true; return(View(response)); } try { var ruleDetail = new BankingRuleDetails { BankingRuleId = model.BankingRuleId, LeftOperator = model.LeftOperator, RightOperator = model.RightOperator, ExpectedResult = model.ExpectedResult, ExpectedResultType = model.ExpectedResultType, IsChained = model.IsChained, LeftParameterString = model.LeftParameterString, Operand = model.Operand, Order = model.Order, RuleType = model.RuleType, RightParamererString = model.RightParamererString, Id = Guid.NewGuid(), }; _ruleDetailsService.AddRuleDetail(ruleDetail); return(RedirectToAction("ConfigureRule", new { id = model.BankingRuleId })); } catch (Exception ex) { response.Message = ex.Message; response.HasError = true; //log exception return(View(response)); } }