Пример #1
0
        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);
            }
        }
Пример #2
0
        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();
        }
Пример #3
0
        } // 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