public async Task <Result <OrderReviewRuleManageModel> > GetOrderReviewRule(string id)
        {
            int idOrderReviewRule = 0;

            if (id != null && !Int32.TryParse(id, out idOrderReviewRule))
            {
                throw new NotFoundException();
            }

            if (idOrderReviewRule == 0)
            {
                return(new OrderReviewRuleManageModel()
                {
                    StatusCode = RecordStatusCode.Active,
                    ApplyType = ApplyType.All,
                    CompareNamesType = CompareType.Equal,
                    CompareAddressesType = CompareType.Equal,
                    ReshipsRefundsCheckType = OrderType.Reship,
                    ReshipsRefundsMonthCount = 6,
                });
            }

            var item = await _orderReviewRuleService.SelectAsync(idOrderReviewRule);

            if (item == null)
            {
                throw new NotFoundException();
            }

            OrderReviewRuleManageModel toReturn = await _orderReviewRuleMapper.ToModelAsync <OrderReviewRuleManageModel>(item);

            return(toReturn);
        }
        public async Task <Result <OrderReviewRuleManageModel> > UpdateOrderReviewRule([FromBody] OrderReviewRuleManageModel model)
        {
            if (!Validate(model))
            {
                return(null);
            }
            var rule = await _orderReviewRuleMapper.FromModelAsync(model);

            var sUserId = _userManager.GetUserId(User);
            int userId;

            if (Int32.TryParse(sUserId, out userId))
            {
                rule.IdEditedBy = userId;
            }
            if (rule.Id > 0)
            {
                rule = await _orderReviewRuleService.UpdateAsync(rule);
            }
            else
            {
                rule = await _orderReviewRuleService.InsertAsync(rule);
            }

            return(await _orderReviewRuleMapper.ToModelAsync <OrderReviewRuleManageModel>(rule));
        }