Ejemplo n.º 1
0
        public void BeginProcessing()
        {
            OnProgressChanged?.Invoke(0);
            //Read and load excel to json objects
            var reader = new OpenXmlLoader(spreadSheetFilePath);

            reader.LoadExcelDataToJsonFile();
            OnProgressChanged?.Invoke(20);

            var pdf = new PdfGeneratorEngine();

            pdf.GenerateSalarySlipsPdfs();
            OnProgressChanged?.Invoke(50);

            var poster = new EmailPoster();

            poster.OnProgressChanged += (d) =>
            {
                var progress = 50 + d;
                OnProgressChanged?.Invoke(progress);
            };
            poster.SendEmails();
            OnProgressFinished?.Invoke(this, new SendEmailsFinishedEventArgs()
            {
                FailedEmails = poster.ErrorEmails, SuccessEmails = poster.SuccessEmails
            });
        }
Ejemplo n.º 2
0
        private BaseModule InitializeModule(BaseModule configuration)
        {
            BaseModule module = null;

            switch (configuration.GetType().Name)
            {
            // ADD MODULE CONSTRUCTORS HERE
            case "Database":
                module = new Database(SharedData, (Database)configuration);
                break;

            case "DataLoader":
                module = new DataLoader(SharedData, (DataLoader)configuration);
                break;

            case "XsltWriter":
                module = new XsltWriter(SharedData, (XsltWriter)configuration);
                break;

            case "ExcelWriter":
                module = new ExcelWriter(SharedData, (ExcelWriter)configuration);
                break;

            case "EmailPoster":
                module = new EmailPoster(SharedData, (EmailPoster)configuration);
                break;

            case "Printer":
                module = new Printer(SharedData, (Printer)configuration);
                break;

            case "LanCleaner":
                module = new LanCleaner(SharedData, (LanCleaner)configuration);
                break;

            case "LanPoster":
                module = new LanPoster(SharedData, (LanPoster)configuration);
                break;

            case "LanCollector":
                module = new LanCollector(SharedData, (LanCollector)configuration);
                break;

            case "XMLFileReader":
                module = new XMLFileReader(SharedData, (XMLFileReader)configuration);
                break;

            case "ExcelReader":
                module = new ExcelReader(SharedData, (ExcelReader)configuration);
                break;

            case "RestService":
                module = new RestService(SharedData, (RestService)configuration);
                break;

            default:
                throw new Exception("The configured module '" + configuration.Name + "' type '" + configuration.GetType().Name + "' is unknown.");
            }

            return(module);
        }