Ejemplo n.º 1
0
        public static void RuleId_PropertyGet_MatchesCtorArg()
        {
            const string    ruleId  = "TEST_ID";
            const string    title   = "title";
            const RuleLevel level   = RuleLevel.Error;
            const string    message = "message";

            var ruleMessage = new RuleMessage(ruleId, title, level, message);

            Assert.That(ruleMessage.RuleId, Is.EqualTo(ruleId));
        }
        public ActionResult AddRuleDetail(Guid bankingRuleId)
        {
            var model = new RuleMessage <AddRuleDetailViewModel>
            {
                Result = new AddRuleDetailViewModel {
                    BankingRuleId = bankingRuleId
                }
            };

            return(View(model));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Search Rule
        /// </summary>
        /// <param name="request">rule request.</param>
        /// <returns>Rule message.</returns>
        public RuleMessage FindRules(RuleRequest request)
        {
            RuleMessage message = new RuleMessage();

            try
            {
                message = _serviceRule.FindRules(request.ToPivot()).ToMessage();
                message.OperationSuccess = true;
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Get list of Rule
        /// </summary>
        /// <returns>Rule message.</returns>
        public RuleMessage GetAllRules()
        {
            RuleMessage message = new RuleMessage();

            try
            {
                message = _serviceRule.GetAllRules().ToMessage();
                message.OperationSuccess = true;
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Create new Rule.
        /// </summary>
        /// <param name="request">rule request.</param>
        /// <returns>Rule message.</returns>
        public RuleMessage CreateRule(RuleRequest request)
        {
            RuleMessage message = new RuleMessage();

            try
            {
                message = _serviceRule.CreateRule(request.ToPivot()).ToMessage();
                if (message?.RuleDto != null)
                {
                    //create user rule.
                    UserMessage userMessage = _serviceUser.GetAllUsers().ToMessage();
                    if (userMessage?.UserDtoList != null)
                    {
                        foreach (var user in userMessage.UserDtoList)
                        {
                            _serviceUserRule.CreateUserRule(new UserRuleRequestPivot()
                            {
                                UserRulePivot = new UserRulePivot()
                                {
                                    RuleId         = message.RuleDto.RuleId,
                                    UserRuleStatus = false,
                                    UserId         = user.UserId
                                }
                            });
                        }
                    }
                    message.OperationSuccess = true;
                }
                else
                {
                    if (message != null)
                    {
                        message.ErrorMessage     = RuleMessageResource.ServiceResponseNull;
                        message.ErrorType        = ErrorType.TechnicalError;
                        message.OperationSuccess = false;
                    }
                }
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
        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));
            }
        }
Ejemplo n.º 7
0
        public IHttpActionResult UpdateRule(RuleRequest request)
        {
            List <string> errors  = ValidateUpdateRule(request);
            RuleMessage   message = new RuleMessage();

            if (errors != null && errors.Any())
            {
                message.ErrorMessage     = RuleMessageResource.ErrorsValidation;
                message.ErrorType        = ErrorType.ValidationError;
                message.Errors           = new List <string>();
                message.OperationSuccess = false;
                message.Errors.AddRange(errors);
            }
            else
            {
                message = _serviceRuleClient.UpdateRule(request);
            }
            return(Json(message));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// This would get all the active in the database
        /// </summary>
        /// <returns>RuleMessage<List<BankingRule>></returns>
        public RuleMessage <List <BankingRule> > GetRules()
        {
            var message = new RuleMessage <List <BankingRule> > {
                Result   = new List <BankingRule> {
                },
                HasError = false,
                Message  = ""
            };

            try
            {
                var rules = _ruleRepository.GetAll().Where(p => !p.IsDeleted).ToList();
                message.Result   = rules;
                message.HasError = false;
                return(message);
            }
            catch (Exception ex)
            {
                message.HasError = true;
                return(message);
            }
        }
Ejemplo n.º 9
0
        public IHttpActionResult GetAllRules()
        {
            RuleMessage message = _serviceRuleClient.GetAllRules();

            return(Json(message));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Create new User
        /// </summary>
        /// <param name="request">user request.</param>
        /// <returns>User message.</returns>
        public UserMessage CreateUser(UserRequest request)
        {
            UserMessage message = new UserMessage();

            try
            {
                //search user by adress mail.
                request.FindUserDto = FindUserDto.UserMail;
                UserResponsePivot response = _serviceUser.FindUsers(request.ToPivot());

                if (response?.UserPivot == null)
                {
                    //generate and set password:
                    string password = ManagePassword.GeneratePassword(5);
                    request.UserDto.UserPassword = password;
                    message = _serviceUser.CreateUser(request.ToPivot()).ToMessage();

                    //add user rule.
                    RuleMessage ruleMessage = _serviceRule.GetAllRules().ToMessage();
                    if (ruleMessage?.RuleDtoList != null)
                    {
                        foreach (var rule in ruleMessage.RuleDtoList.ToList())
                        {
                            UserRuleRequest userRuleRequest = new UserRuleRequest
                            {
                                UserRuleDto = new UserRuleDto
                                {
                                    UserId         = message.UserDto.UserId,
                                    UserRuleStatus = false,
                                    RuleId         = rule.RuleId
                                }
                            };
                            _serviceUserRule.CreateUserRule(userRuleRequest.ToPivot()).ToMessage();
                        }
                    }
                    else
                    {
                        message.Errors = new List <string> {
                            UserRuleMessageResource.UserRuleNotAdded
                        };
                        message.ErrorMessage     = UserRuleMessageResource.UserRuleNotAdded;
                        message.ErrorType        = ErrorType.FunctionalError;
                        message.OperationSuccess = false;
                    }
                    message.OperationSuccess = true;
                }
                else
                {
                    message.Errors = new List <string> {
                        UserMessageResource.AlreadyExist
                    };
                    message.ErrorMessage     = UserMessageResource.AlreadyExist;
                    message.ErrorType        = ErrorType.FunctionalError;
                    message.OperationSuccess = false;
                }
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
Ejemplo n.º 11
0
        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));
            }
        }
Ejemplo n.º 12
0
        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));
        }