Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var config = new Configuration(ConfigurationManager.AppSettings["Folders"]
                                           , ConfigurationManager.AppSettings["SuccessFolder"]
                                           , ConfigurationManager.AppSettings["ErrorFolder"]
                                           , ConfigurationManager.AppSettings["ProcessingFolder"]
                                           , ConfigurationManager.AppSettings["FileNamePattern"]
                                           , int.Parse(ConfigurationManager.AppSettings["TimerTime"])
                                           , ConfigurationManager.AppSettings["CodeString"]
                                           , int.Parse(ConfigurationManager.AppSettings["StatusTimerTime"]));

            HostFactory.Run(x =>
            {
                x.Service <ScanProcessService>(s =>
                {
                    s.ConstructUsing(() => new ScanProcessService(config));
                    s.WhenStarted((sc, hostControl) => sc.Start(hostControl));
                    s.WhenStopped((sc, hostControl) => sc.Stop(hostControl));
                });

                x.SetServiceName("ScanService");
                x.SetDisplayName("Scaner Service");
                x.StartAutomaticallyDelayed();
                x.RunAsLocalService();
            });
        }
        public ScanProcessService(Configuration config, IDirectoryService directoryService, IFileProcessor fileProcessor)
        {
            _configuration = config;

            _directoryService = directoryService;
            _fileProcessor    = fileProcessor;
            _rules            = new List <IInteruptRule>
            {
                new TimerRule(_configuration.TimerValue),
                new BarcodeRule(_configuration.BarcodeString),
                new NameRule(_configuration.FileNamePattern)
            };
        }
        public ScanProcessService(Configuration config)
        {
            var queueClient = new AzureQueueClient();

            statusService      = new StatusService(config.BarcodeString, config.StatusTimerTime, CurerntState.WatingFiles, queueClient);
            subscriptionClient = new AzureSubscriptionClient(statusService);

            _configuration = config;

            _directoryService = new DirectoryService();
            _fileProcessor    = new FileProcessor(_configuration.SuccessFolder, _configuration.ErrorFolder, _configuration.ProcessingFolder, _configuration.FileNamePattern, queueClient);
            _rules            = new List <IInteruptRule>
            {
                new TimerRule(_configuration.TimerValue),
                new BarcodeRule(_configuration.BarcodeString),
                new NameRule(_configuration.FileNamePattern)
            };
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            var container = WindsorConfiguration.Configure();
            var a         = container.Resolve <IDirectoryService>();
            var config    = new Configuration(ConfigurationManager.AppSettings["Folders"]
                                              , ConfigurationManager.AppSettings["SuccessFolder"]
                                              , ConfigurationManager.AppSettings["ErrorFolder"]
                                              , ConfigurationManager.AppSettings["ProcessingFolder"]
                                              , ConfigurationManager.AppSettings["FileNamePattern"]
                                              , int.Parse(ConfigurationManager.AppSettings["TimerTime"])
                                              , ConfigurationManager.AppSettings["CodeString"]);

            var fileService = container.Resolve <IFileService>(new { config.SuccessFolder });

            HostFactory.Run(x =>
            {
                x.Service <ScanProcessService>(s =>
                {
                    s.ConstructUsing(() =>
                                     new ScanProcessService(config,
                                                            container.Resolve <IDirectoryService>(),
                                                            container.Resolve <IFileProcessor>(new
                    {
                        fileService,
                        config.SuccessFolder,
                        config.ErrorFolder,
                        config.ProcessingFolder,
                        config.FileNamePattern
                    })));
                    s.WhenStarted((sc, hostControl) => sc.Start(hostControl));
                    s.WhenStopped((sc, hostControl) => sc.Stop(hostControl));
                });

                x.SetServiceName("ScanService");
                x.SetDisplayName("Scaner Service");
                x.StartAutomaticallyDelayed();
                x.RunAsLocalService();
            });
        }