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(); }
} // ValidateFreightRows /// <summary> /// The process flow to follow when you encounter missing ship to locations in the spreadsheet. /// </summary> /// <param name="names"></param> /// <param name="conceptCSV"></param> private void FollowMissingShipToPath(List <string> names, ConceptCSV conceptCSV, LoadingForm frm) { // 1.) Tell the user about the missing ship to addresses using (new CenterDialog(this)) { MessageBox.Show($"There are {names.Count.ToString()} ship to locations that don't exist in JDE.\r\nPress OK to review the list.\r\nThen Save to CSV to create a CSV.\r\nThis CSV needs to be updated and uploaded to JDE.", "Missing Ship To Locations", MessageBoxButtons.OK, MessageBoxIcon.Information); } // 2.) Populate the datatable frm.AddText("Populating the datatable for review."); MissingShipToCSV = new ShipToCSV(); MissingShipToCSV.PopulateSpreadsheet(names, conceptCSV); this.dgv_DataDisplay.DataSource = MissingShipToCSV.DT; // 3.) Make the save to CSV available. frm.AddText("Datatable population complete."); btn_SaveCSV.Enabled = true; return; } // FollowMissingShipToPath