Exemplo n.º 1
0
        public CompareResult CreateCompare()
        {
            //Get User from header token
            string userName;
            var    token = Request.Headers.FirstOrDefault(x => string.Equals(x.Key, "Authorization")).Value.ElementAt(0);

            JWToken.Validate(token, out userName);
            if (string.IsNullOrWhiteSpace(userName))
            {
                return(new CompareResult()
                {
                    Status = 3,
                    Message = "Authorization failed."
                });
            }

            string       config       = HttpContext.Current.Request["Config"];
            CompareInput compareInput = JsonConvert.DeserializeObject <CompareInput>(config);

            HttpFileCollection files = HttpContext.Current.Request.Files;

            if (files.AllKeys.Length != 2)
            {
                return(new CompareResult()
                {
                    Status = 3,
                    Message = "Error Input"
                });
            }

            compareInput.FileName1 = SaveFile(files[0]);
            compareInput.FileName2 = SaveFile(files[1]);

            return(CompareSvc.Start(userName, compareInput));
        }
Exemplo n.º 2
0
        public Expression Contains <T>(CompareInput input)
        {
            var method   = typeof(string).GetMethod("Contains", new[] { typeof(string) });
            var contains = Expression.Call(input.Property, method, input.Value);

            return(Expression.Equal(contains, Expression.Constant(TrueValue)));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Compare([FromBody] CompareRequest request)
        {
            var input = new CompareInput(request.Text, request.Expression);

            await compareUseCase.Execute(input);

            return(comparePresenter.Result);
        }
Exemplo n.º 4
0
        public void Compare_Should_Succeed()
        {
            CompareInput input = new CompareInput(DataTest.TEXT, DataTest.GetRegex());

            regexMatchMok.SetupToSuccees();
            portMock.SetUpOk();

            var result = compareUseCase.Execute(input).ConfigureAwait(false);

            result.Should().NotBeNull();
        }
Exemplo n.º 5
0
 public Expression Contains <T>(CompareInput input)
 {
     throw new Exception(ErrorConstants.OPERATION_NOT_ALLOWED);
 }
Exemplo n.º 6
0
 public Expression LessThanOrEqual <T>(CompareInput input)
 {
     return(Expression.LessThanOrEqual(input.Property, Expression.Convert(input.Value, input.Property.Type)));
 }
Exemplo n.º 7
0
 public Expression GreaterThan <T>(CompareInput input)
 {
     return(Expression.GreaterThan(input.Property, Expression.Convert(input.Value, input.Property.Type)));
 }
        public static Expression FilterExpression <T>(FilterInput filterInput,
                                                      ParameterExpression parameter)
        {
            var property = Expression.Property(parameter, filterInput.Property);
            var value    = Expression.Constant(filterInput.Value);

            ICompare compare;

            switch (filterInput.Type)
            {
            case InputTypeEnum.Number:
            case InputTypeEnum.Boolean:
                compare = new NormalCompare();
                break;

            case InputTypeEnum.String:
                compare = new StringCompare();
                break;

            default:
                compare = new NormalCompare();
                break;
            }

            var compareInput = new CompareInput
            {
                Property = property,
                Value    = value
            };

            Expression resultExpr;

            switch (filterInput.Operation)
            {
            case OperationTypeEnum.Equal:
                resultExpr = compare.Equal <T>(compareInput);
                break;

            case OperationTypeEnum.NotEqual:
                resultExpr = compare.NotEqual <T>(compareInput);
                break;

            case OperationTypeEnum.GreaterThan:
                resultExpr = compare.GreaterThan <T>(compareInput);
                break;

            case OperationTypeEnum.GreaterThanOrEqual:
                resultExpr = compare.GreaterThanOrEqual <T>(compareInput);
                break;

            case OperationTypeEnum.LessThan:
                resultExpr = compare.LessThan <T>(compareInput);
                break;

            case OperationTypeEnum.LessThanOrEqual:
                resultExpr = compare.LessThanOrEqual <T>(compareInput);
                break;

            case OperationTypeEnum.Contain:
                resultExpr = compare.Contains <T>(compareInput);
                break;

            default:
                resultExpr = compare.Equal <T>(compareInput);
                break;
            }
            return(resultExpr);
        }
Exemplo n.º 9
0
        public Expression LessThanOrEqual <T>(CompareInput input)
        {
            var compare = Expression.Call(typeof(string), "Compare", null, input.Property, input.Value);

            return(Expression.LessThanOrEqual(compare, Expression.Constant(_equalNumber)));
        }