public ActionResult EditRuleDetail(EditRuleDetailViewModel model)
        {
            var response = new RuleMessage <EditRuleDetailViewModel>
            {
            };

            if (model == null)
            {
                response.HasError = true;
                response.Message  = "Model cannot be null or doesnt exist";
                return(View(response));
            }
            try
            {
                var ruleDetail = _ruleDetailsService.GetRuleDetail(model.Id);
                if (ruleDetail == null)
                {
                    response.HasError = true;
                    response.Message  = "Rule does not exist or has been deleted.";
                    return(View(response));
                }
                ruleDetail.ExpectedResult      = model.ExpectedResult;
                ruleDetail.ExpectedResultType  = model.ExpectedResultType;
                ruleDetail.IsChained           = model.IsChained;
                ruleDetail.LeftOperator        = model.LeftOperator;
                ruleDetail.LeftParameterString = model.LeftParameterString;
                ruleDetail.ModifiedDate        = DateTime.Now;
                ruleDetail.Order                = model.Order;
                ruleDetail.RightOperator        = model.RightOperator;
                ruleDetail.RightParamererString = model.RightParamererString;
                ruleDetail.RuleType             = model.RuleType;
                ruleDetail.Operand              = model.Operand;

                _ruleDetailsService.Update(ruleDetail);
                return(RedirectToAction("ConfigureRule", new { id = ruleDetail.BankingRuleId }));
            }
            catch (Exception ex)
            {
                response.Message  = ex.Message;
                response.HasError = true;
                //log exception
                return(View(response));
            }
        }
        public ActionResult EditRuleDetail(Guid id)
        {
            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"
                },
            };
            var responseModel = new RuleMessage <EditRuleDetailViewModel>
            {
                Message  = string.Empty,
                HasError = false
            };

            try
            {
                var ruleDetail = _ruleDetailsService.GetRuleDetail(id);
                if (ruleDetail == null)
                {
                }
                var model = new EditRuleDetailViewModel
                {
                    Order                = ruleDetail.Order,
                    ExpectedResult       = ruleDetail.ExpectedResult,
                    ExpectedResultType   = ruleDetail.ExpectedResultType,
                    IsChained            = ruleDetail.IsChained,
                    LeftOperator         = ruleDetail.LeftOperator,
                    LeftParameterString  = ruleDetail.LeftParameterString,
                    OperationType        = Enum.GetName(typeof(OperationType), ruleDetail.OperationType) ?? "",
                    Operand              = ruleDetail.Operand,
                    RightOperator        = ruleDetail.RightOperator,
                    RightParamererString = ruleDetail.RightParamererString,
                    RuleType             = ruleDetail.RuleType, Id = ruleDetail.Id
                };
                responseModel.Result = model;
            }
            catch (Exception exc)
            {
                responseModel.Message  = exc.Message;
                responseModel.HasError = true;
            }
            return(View(responseModel));
        }