public void TestSteps() { bool SkipF0101 = true; bool SkipF03012 = true; // 1.) Read the concept ConceptCSV TestConceptCSV = new ConceptCSV(@"E:\gitHub\Rollout\TestFiles\SageRolloutExample1.csv", ","); TestConceptCSV.ReadConcept(); // 2.) Test for missing entries List <string> TestMissing = TestConceptCSV.CheckForMissingShipToAddresses(); // 3.) If entries are missing, do the following: if (0 < TestMissing.Count && !SkipF0101) { // 4.) Populate the missing CSV using the list of missing items ShipToCSV MissingShipToCSV = new ShipToCSV(@"E:\gitHub\Rollout\TestFiles\SageRolloutMissing.csv", ","); MissingShipToCSV.PopulateSpreadsheet(TestMissing, TestConceptCSV); // 5.) Populate the transformed data structure ShipTo MissingShipTo = XfrmShipTo.CSVToShipTo(MissingShipToCSV, false); // Don't look up JDE Addresses // 6.) Upload the transformed data structure to the F0101 Z-File JDE.PopulateF0101Z2(MissingShipTo); // 7.) Now write the CSV to disk MissingShipToCSV.WriteCSV(); // 8.) Now, someone must run R01010Z to load the data into JDE. // Popup window } else if (!SkipF03012) { // TODO: 9.) Check for F03012 records // 10.) If F03012 records are missing: ShipToCSV MissingShipToCSV = new ShipToCSV(@"E:\gitHub\Rollout\TestFiles\SageRolloutMissing.csv", ","); MissingShipToCSV.ReadShipTo(); if (MissingShipToCSV.ValidateHeader() && // Required row is all there MissingShipToCSV.ValidateRows(false)) // We can't have an empty tax area code { // 11.) Convert the CSV into a data structure we can upload ShipTo PopulatedShipTo = XfrmShipTo.CSVToShipTo(MissingShipToCSV, true); // Lookup JDE Address // 12.) Upload the data structure into JDE JDE.PopulateF03012Z1(PopulatedShipTo); // 13.) Now someone must run R03010Z to load the data into JDE. } else { //TODO: Say we don't have a valid spreadsheet int x = 0; x++; } } else { Concept TestConcept = XfrmConcept.CSVtoConcept(TestConceptCSV); JDE.PopulateF47011(TestConcept); JDE.PopulateF47012(TestConcept); } }
public void ReadConceptAndWriteCSV() { ConceptCSV TestConcept = new ConceptCSV(@"E:\gitHub\Rollout\TestFiles\SageRolloutExample1.csv"); TestConcept.ReadConcept(); List <string> TestMissing = TestConcept.CheckForMissingShipToAddresses(); ShipToCSV TestShip = new ShipToCSV(@"E:\gitHub\Rollout\TestFiles\SageRolloutMissing.csv", ","); TestShip.PopulateSpreadsheet(TestMissing, TestConcept); TestShip.WriteCSV(); }
} // LoadRolloutFlow /// <summary> /// The control flow for saving a Ship To CSV to a file /// </summary> private void SaveCSVFlow() { log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.GetDirectoryName(Assembly.GetAssembly(typeof(FileIO)).Location) + @"\" + "log4net.config")); log.Debug($"Attempting to save Ship To CSV to a file."); using (LoadingForm frm = new LoadingForm()) { // 1.) Verify we have a ship to CSV if (null != MissingShipToCSV) { frm.AddText("Get the Ship To filename to save as."); frm.Visible = true; // 2.) Get the filename to save string fileName = FileIO.SaveFileName(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), FileFilter); if (String.Empty != fileName) { // 3.) Save the file MissingShipToCSV.FileName = fileName; MissingShipToCSV.DeLimiter = "\t"; try { frm.AddText($"Saving {fileName} as TXT with a <tab> delimiter."); MissingShipToCSV.WriteCSV(); frm.AddText($"Successfully saved {fileName}."); this.dgv_DataDisplay.DataSource = null; btn_SaveCSV.Enabled = false; using (new CenterDialog(this)) { MessageBox.Show($"SUCCESS!!\r\nFile {fileName} saved successfully.", "File Saved Successfully", MessageBoxButtons.OK, MessageBoxIcon.Information); MissingShipToCSV = null; } } catch (Exception er) { log.Error($"{er.Message} + {er.InnerException} + {er.StackTrace}"); using (new CenterDialog(this)) { MessageBox.Show($"{er.Message} + {er.InnerException} + {er.StackTrace}", "Error in Rollout", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { log.Error($"We don't have a MissingShipToCSV. Somehow we got here"); using (new CenterDialog(this)) { MessageBox.Show($"ERROR: The program didn't populate the CSV before enabling this button.\r\nPlease contact IT support.", "Error in .NET program", MessageBoxButtons.OK, MessageBoxIcon.Error); } btn_SaveCSV.Enabled = false; } } } // SaveCSVFlow