/// <summary> /// Used to Read the Settings.ini file. /// </summary> /// <param name="FileName">Contains the Settings file name with extension.</param> /// <param name="NumberOfFields">Number of Fields in the Settings File. (Default 9)</param> /// <param name="ValuePosition">The Number of Strings in One Line before the value of the fieldName. (Default 0-3)</param> private static void ReadSettingsFile(SendingEmail sender, int ValuePosition = 3) { string line; int count = 0; string[] values = new string[MAX_SETTINGS_FIELDS]; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(SettingsFileName); while ((line = file.ReadLine()) != null) { values[count] = line.Split(' ')[ValuePosition]; System.Console.WriteLine(count + " Value: " + values[count]); count++; } sender = new SendingEmail(values[0], values[1], values[2], values[3], values[4], values[16], values[21], values[22], values[23], values[24]); PathToXMLFiles = values[5]; PathToWordTemplate = values[6]; InterviewDoobloAPIurl = values[7]; PathToWordDoc = values[8]; PathToPDFFile = values[9]; SurveyID = values[10]; RESTAPIKey = values[11]; DoobloUserName = values[12]; DoobloPassWord = values[13]; int.TryParse(values[14], out CountOfDatabaseRecordsFetched); int.TryParse(values[15], out NumberOfFieldsFromXML); XMLFileName = values[17]; WordDocFileName = values[18]; PDFFileName = values[19]; WordTemplateFileName = values[20]; ClientsHistory = values[25]; Console.WriteLine($"Number of Fields Parsed: { count }"); file.Close(); System.Console.ReadLine(); }
public static void Main(string[] args) { string[] Names, Values; int InterviewID = 42; try { MainProgram mail = new MainProgram(); CreateWordDoc creator = new CreateWordDoc(); SendingEmail sender = new SendingEmail(); WordToPDF converter = new WordToPDF(); ExtractFieldsXML job = new ExtractFieldsXML(); ReadSettingsFile(sender); int count = mail.ReadWithRESTSaveXMLReportFile(); for (int i = 0; i < count; i++) { try { InterviewID = ProcessedInterviewIDs.ElementAt <int>(i); job.ExtractFieldsfromXML(InterviewID, PathToXMLFiles + XMLFileName, NumberOfFieldsFromXML, out Names, out Values); creator.CreateWordDocFromFields(InterviewID, PathToWordTemplate + WordTemplateFileName, PathToWordDoc + WordDocFileName, Names, Values); string PDFFilePathFileName = PathToPDFFile + PDFFileName.Replace(".pdf", "") + "_" + Values[9] + ".pdf"; string WordFilePathFileName = PathToWordDoc + WordDocFileName; converter.ConvertDOCtoPDF(InterviewID, WordFilePathFileName, PDFFilePathFileName); sender.SendEmail(InterviewID, PDFFilePathFileName, Values[10]); } catch (Exception e) { S.WriteLine($"Error in Processing Record ID: { InterviewID }."); S.WriteLine("Exception " + e); if (i <= count - 2) { S.WriteLine("Moving to next record."); } else { S.WriteLine("All records processed."); } continue; } } } catch (Exception e) { System.Console.WriteLine(e); } finally { System.Console.ReadLine(); } }