Exemplo n.º 1
0
        internal static void AddFigureProcessors <TDescription>(
            AbstractValidator <TDescription> validator,
            IAreaCalculator <TDescription> calculator,
            string code)

            where TDescription : IFigureDescription
        {
            var processors = new ProxyFigureProcessors();

            processors.Init(validator, calculator);

            var type = typeof(TDescription);

            _typeMap.AddOrUpdate(type, processors, (key, old) => processors);
            _codeMap.AddOrUpdate(code, type, (key, old) => type);
        }
        public virtual Result <Empty> Validate(IFigureDescription request)
        {
            ProxyFigureProcessors processor = _storage.GetProxyFigureProcessor(request);

            if (processor == null)
            {
                return(Result <Empty> .MakeFailMessage("error figure"));
            }

            ValidationResult result = processor.Validate(request);

            if (result.IsValid)
            {
                return(Result <Empty> .MakeSucces(Empty.Instance));
            }

            return(Result <Empty> .MakeFail(result.ErrorsToListString()));
        }