예제 #1
0
        private Task <Result> ExecuteInternalPipeline(IInternalPipelineItem internalPipelineItem)
        {
            switch (internalPipelineItem)
            {
            case And and:
                return(_serviceProvider.GetService <AndHandler>().ExecuteAsync(and));

            case Select select:
                return(_serviceProvider.GetService <SelectHandler>().ExecuteAsync(select));

            default:
                _logger.LogError($"Internal handler for {internalPipelineItem.GetType().FullName} not found");
                return(Task.FromResult(Result.Error(SystemErrorCodes.SystemError.AsError())));;
            }
        }
예제 #2
0
        private Task <Result <TData> > ExecuteInternalPipeline <TData>(IInternalPipelineItem internalPipelineItem)
        {
            switch (internalPipelineItem)
            {
            case And <TData> and:
                return(_serviceProvider.GetService <AndHandler <TData> >().ExecuteAsync(and));

            case Select <TData> select:
                return(_serviceProvider.GetService <SelectHandler <TData> >().ExecuteAsync(select));

            case IWith <TData> with:
                return(With(with));

            default:
                _logger.LogError($"Internal handler for {internalPipelineItem.GetType().FullName} not found");
                return(Task.FromResult(new Result <TData>(SystemErrorCodes.SystemError.AsError())));
            }
        }