コード例 #1
0
ファイル: XfrmConcept.cs プロジェクト: rlillback/Rollout
        private static void PopulateConceptHeader(ref Concept con, ConceptCSV csv)
        {
            log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.GetDirectoryName(Assembly.GetAssembly(typeof(ConceptCSV)).Location) + @"\" + "log4net.config"));
            log.Debug($"Populating concept header with {String.Join(",",csv)}");

            try
            {
                con.batch = JDE.GetNextBatchNumber().ToString();
                DataRow r = csv.DT.Rows[0];
                con.BillToAddress   = Double.Parse(r["CUSTOMER NUMBER"].ToString());
                con.ConceptID       = JDE.GetConceptID(con.BillToAddress);
                con.JulianOrderDate = CommonFunctions.DateStringToJulian(System.DateTime.Today.ToString());
                con.OrderDetails    = new List <ConceptLine>();
                con.PONumber        = r["PO NUMBER"].ToString();
                con.OrderedBy       = r["ORDERED BY"].ToString();
                con.ShippingVendor  = Double.Parse(r["SHIPPING VENDOR"].ToString());
                con.ShippingMode    = r["SHIPPING METHOD"].ToString();
            }
            catch (Exception eBLL)
            {
                log.Error($"Error populating concept header" + eBLL.Message);
                throw;
            }

            return;
        }
コード例 #2
0
ファイル: XfrmConcept.cs プロジェクト: rlillback/Rollout
        } // CSVtoConcept

        public static ConceptCSV ConceptToCSV(Concept con)
        {
            //TODO: Do I ever need this?
            ConceptCSV csv = new ConceptCSV();

            return(csv);
        } // ConceptToCSV
コード例 #3
0
ファイル: ShipToCSV.cs プロジェクト: rlillback/Rollout
        /// <summary>
        /// Add a single datarow to the DataTable by copying the right row in the conceptCSV into the ShipToCSV
        /// </summary>
        /// <param name="storenumber"></param>
        /// <param name="concept"></param>
        /// <param name="conceptID"></param>
        private void PopulateDataRow(string storenumber, ConceptCSV concept, string conceptID)
        {
            DataRow r = DT.NewRow();
            string  StoreNumberMinusConcept = storenumber.Substring(0, storenumber.LastIndexOf('-'));
            string  selection = "[STORE NUMBER] = '" + StoreNumberMinusConcept + "'";

            DataRow[] ConceptRow = concept.DT.Select(selection);
            foreach (Header h in HeaderRow)
            {
                if (0 == String.Compare("TAX AREA CODE", h.ColumnName.ToUpper()))
                {
                    r["TAX AREA CODE"] = String.Empty; // Filled out later for F03012 load
                }
                else if (0 == String.Compare("CONCEPT CODE", h.ColumnName.ToUpper()))
                {
                    r["CONCEPT CODE"] = conceptID;
                }
                else if (0 == String.Compare("JDE ADDRESS", h.ColumnName.ToUpper()))
                {
                    r["JDE ADDRESS"] = 0; // The Z-File upload populates the JDE address in JDE
                }
                else if (0 == String.Compare("TAX EXPLANATION CODE", h.ColumnName.ToUpper()))
                {
                    r["TAX EXPLANATION CODE"] = String.Empty; // Filled out later for F03012 load
                }
                else
                {
                    r[h.ColumnName.ToUpper()] = ConceptRow[0].Field <string>(h.ColumnName.ToUpper());
                }
            }
            log.Debug($"Adding row to ShipToCSV: {String.Join(",", r.ItemArray)}");
            DT.Rows.Add(r);
        } // PopulateDataRow
コード例 #4
0
ファイル: ShipToCSV.cs プロジェクト: rlillback/Rollout
 /// <summary>
 /// Populate the empty ShipToCSV object
 /// </summary>
 /// <param name="missing"></param>
 /// <param name="concept"></param>
 public void PopulateSpreadsheet(List <string> missing, ConceptCSV concept)
 {
     if (null == DT)
     {
         DT = new DataTable();
         PopulateColumns();
         string conceptID = JDE.GetConceptID(Double.Parse(concept.DT.Rows[0].Field <string>("CUSTOMER NUMBER")));
         foreach (string shipto in missing)
         {
             PopulateDataRow(shipto, concept, conceptID);
         }
     }
     else
     {
         log.Error("The DataTable for ShipToCSV already exists.");
         throw new System.AggregateException("Error, the DataTable for ShipToCSV already exists & must be deleted first.");
     }
 }
コード例 #5
0
ファイル: XfrmConcept.cs プロジェクト: rlillback/Rollout
        /// <summary>
        /// Convert a csv object into a concept object
        /// </summary>
        /// <param name="csv"></param>
        /// <returns></returns>
        public static Concept CSVtoConcept(ConceptCSV csv)
        {
            Concept        con = new Concept();
            ConceptLine    entry;
            int            linenumber;
            DataRow        r1;
            List <DataRow> rows     = new List <DataRow>();
            double         document = JDE.GetDocumentNumbers(csv.DT.Rows.Count); // reserve a set of document numbers

            PopulateConceptHeader(ref con, csv);
            // Get a list of unique store numbers
            List <string> stores = csv.DT.AsEnumerable().Select(n => n.Field <string>("STORE NUMBER")).Distinct().ToList();

            // Loop through that customer and add all of that customer's lines to the datatable
            foreach (string store in stores)
            {
                rows       = csv.DT.AsEnumerable().Where(n => store == n.Field <string>("STORE NUMBER")).ToList();
                linenumber = 1;  // Start at linenumber 1
                foreach (DataRow r in rows)
                {
                    entry = PopulateConceptLine(document,
                                                r["STORE NUMBER"].ToString(),
                                                linenumber,                  // Line #
                                                r["PART NUMBER"].ToString(), // The part number
                                                Double.Parse(r["ORDER QTY"].ToString()),
                                                CommonFunctions.DateStringToJulian(r["REQ'D SHIP DATE"].ToString()),
                                                con);
                    con.OrderDetails.Add(entry);
                    linenumber++;
                }
                // Now add the freight line for this customer
                r1    = rows[0]; // get the first row
                entry = PopulateConceptLine(document,
                                            r1["STORE NUMBER"].ToString(),
                                            linenumber, // Line #2 is the freight line
                                            "9227",     // The freight part number
                                            1,          // Qty of 1
                                            CommonFunctions.DateStringToJulian(r1["REQ'D SHIP DATE"].ToString()),
                                            con);
                con.OrderDetails.Add(entry);
                document++;
            }
            return(con);
        } // CSVtoConcept