public AsyncProcessorThread()
        {
            try
            {
                ID = GetNextIDToProcess();

                ProcDetails.SingleOrDefault(z => z.ID == ID).Begin();

                AsyncProcessorDetail fd = ProcDetails.SingleOrDefault(z => z.ID == ID);

                // Add a case statement for each of the processor classes you create
                switch (fd.ProcessorType)
                {
                case "ProcessorImportCsv":
                    ProcessorImportCsv ImportDataCSV = new ProcessorImportCsv(fd);
                    break;

                case "ProcessorImportXls":
                    ProcessorImportXls ImportDataXLS = new ProcessorImportXls(fd);
                    break;

                case "ProcessorImportJson":
                    ProcessorImportJson ImportDataJSON = new ProcessorImportJson(fd);
                    break;

                case "ProcessorImportXML":
                    ProcessorImportXml ImportDataXML = new ProcessorImportXml(fd);
                    break;

                case "ProcessorImportTable":
                    ProcessorImportTable ImportDataTable = new ProcessorImportTable(fd);
                    break;

                default:
                    ProcDetails.SingleOrDefault(z => z.ID == ID).StatusText = "No ProcessorType found. Exiting..";
                    ProcDetails.SingleOrDefault(z => z.ID == ID).End();
                    break;
                }
            }
            catch (Exception ex) { }
        }
Пример #2
0
        public void ICanSerializeAndDeserializeProcDetailData()
        {
            Sections procData = new Sections();

            string[] args = new string[] { "a", "b", "c" };
            IDictionary <string, string> vars = new Dictionary <string, string>()
            {
                { "a", "1" }, { "b", "2" }, { "c", "3" }
            };
            ProcDetails procDetails = new ProcDetails(args);

            procData.Add(ProcDetails.CommandLineArguments, Entries.MakeEntries(args));
            procData.Add(ProcDetails.EnvironmentVariables, new Entries(vars));
            procData.Add(ProcDetails.CoreSiteSettings, new Entries(vars));
            procData.Add(ProcDetails.HiveSiteSettings, new Entries(vars));
            procData.Add(ProcDetails.MapRedSiteSettings, new Entries(vars));

            SectionsSerializer ser = new SectionsSerializer();
            var      content       = ser.Serialize(procData);
            Sections deserialized  = ser.Deserialize(content);

            Help.DoNothing(deserialized);
            Help.DoNothing(procDetails);
        }