public FaceSearchController(
            IFrameStream source,
            IOperation <Frame> frameProcessor,
            IConvertor <Frame, Portrait> convertor,
            IOperation <Portrait> portraitProcessor)
        {
            _source            = source;
            _frameProcessor    = frameProcessor;
            _convertor         = convertor;
            _portraitProcessor = portraitProcessor;

            _worker.DoWork = delegate
            {
                var frames                = frameProcessor.Execute(null).ToList();
                var portraits             = _convertor.Execute(frames).ToList();
                var portraitsAfterProcess = _portraitProcessor.Execute(portraits).ToList();

                foreach (var portrait in portraitsAfterProcess)
                {
                    portrait.Dispose();
                }
            };

            _worker.OnExceptionRetry = () => _source.Connect();
        }
        public FaceSearchController(
            IFrameStream source,
            IOperation<Frame> frameProcessor,
            IConvertor<Frame, Portrait> convertor,
            IOperation<Portrait> portraitProcessor)
        {
            _source = source;
            _frameProcessor = frameProcessor;
            _convertor = convertor;
            _portraitProcessor = portraitProcessor;

            _worker.DoWork = delegate
            {
                var frames = frameProcessor.Execute(null).ToList();
                var portraits = _convertor.Execute(frames).ToList();
                var portraitsAfterProcess = _portraitProcessor.Execute(portraits).ToList();

                foreach (var portrait in portraitsAfterProcess)
                {
                    portrait.Dispose();
                }
            };

            _worker.OnExceptionRetry = () => _source.Connect();
        }
 public MyProfile(IConvertor convertor)
 {
     CreateMap <Model, ViewModel>()
     .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Identifier))
     .ForMember(dest => dest.Name, opt => opt.MapFrom(src => convertor.Execute(src.SomeText)))
     ;
 }