Пример #1
0
        public NumberComposition Compose(
            JObject input,
            Path parentPath)
        {
            var result = _extractor.ExtractFrom(
                Context.Root(input));

            if (!result.IsSuccess)
            {
                return(new NumberComposition.Failure(
                           new[] { result.Error }));
            }

            if (!IsNumber(result))
            {
                return(new NumberComposition.Failure(
                           new[]
                {
                    new VariableWasNotANumber(
                        result.Path,
                        result.Value),
                }));
            }

            var number = result
                         .Value
                         .ToObject <decimal>();

            return(new NumberComposition.Success(
                       number));
        }
Пример #2
0
        public Composition Compose(
            JObject input,
            Path parentPath)
        {
            var result = _extractor.ExtractFrom(
                Context.Root(input));

            if (result.IsSuccess)
            {
                return(new CorrectComposition(
                           result.Value));
            }

            return(new IncorrectComposition(
                       parentPath,
                       new[] { result.Error }));
        }