Beispiel #1
0
        /// <summary>
        /// processSpec method: For each spec, try to process the spec via the ARINVT rules
        /// </summary>
        private static string processSpec(string SpecsFolder, SPECIFICATION pkgSpec,
                                          double percent, List <DETAILS> currentDetails, List <BOM> currentBOM,
                                          List <REMARKCODE> currentRemarkCode, REMARK rmk, string rawSpec)
        {
            //if (pkgSpec.isB969F())
            {
                //Create CSV
                Directory.CreateDirectory(SpecsFolder);

                arinvtTable.process(SpecsFolder, pkgSpec, currentDetails, currentBOM, currentRemarkCode, rmk, rawSpec);
            }

            return(pkgSpec.ServicePartNo);
        }
Beispiel #2
0
        private async void OnItemSelected(object sender, ItemTappedEventArgs e)
        {
            var    myDetail   = e.Item as CUST;
            string myCustID   = myDetail.C_ID.Trim();
            string myCustName = myDetail.C_NAME;

            Preferences.Set("CustID", myCustID);
            Preferences.Set("CustName", myCustName);

            isCartExisted = await LocalDb.TableExists("CART");

            if (isCartExisted == true)
            {
                string sSQL = $"SELECT * FROM REMARK WHERE r_cust = '{myCustID}'";

                var rs = LocalDb.db.QueryAsync <REMARK>(sSQL).Result.FirstOrDefault();

                if (rs == null)
                {
                    REMARK remark = new REMARK
                    {
                        r_cust = myCustID,
                        r_rem1 = "",
                        r_rem2 = "",
                        r_rem3 = "",
                        r_rem4 = "",
                        r_rem5 = "",
                        r_rem6 = ""
                    };
                    await LocalDb.db.InsertAsync(remark);
                }
                await Navigation.PushAsync(new CustomerInfo(myDetail.C_ID));
            }
            else
            {
                await DisplayAlert("ALERT!", "You need to creat CART First @ @", "OK");
            }
        }
Beispiel #3
0
        /// <summary>ReadDownloadedSpecFile method does the following:
        /// <list type="bullet">
        /// <item><description>Retrieve specs from the spec file (already downloaded)</description></item>
        /// <item><description>For each spec, try to process the spec via the ARINVT rules</description></item>
        /// <item><description>Insert parsed spec line into staging table using SQLLoader</description></item>
        /// <item><description>try insert staging (tempARINVT_for_GSPPS) values into ARINVT</description></item>
        /// </list>
        /// </summary>
        private static void ParseSpecFile(string GSPPSSourceFolder,
                                          string sourceFile, string SpecsFolder)
        {
            Console.WriteLine("\n Parsing... ");

            #region READ LINE BY LINE
            //*
            FileInfo fStream    = new FileInfo(GSPPSSourceFolder + sourceFile);
            long     fileLength = fStream.Length;

            string rawLine = String.Empty;
            string currentServicePartNumber = "";
            string packedServicePart        = "";

            SPECIFICATION     pkgSpec           = null;
            List <DETAILS>    currentDetails    = new List <DETAILS>();
            List <REMARKCODE> currentRemarkCode = new List <REMARKCODE>();
            List <BOM>        currentBOM        = new List <BOM>();
            REMARK            rmk     = null;
            string            rawSpec = "";
            int index = 0; //keep track of current spec
                           //int lineCounter = 0; //keep track of current line in file

            int rawLineLength = 0;
            using (StreamReader sr = new StreamReader(GSPPSSourceFolder + sourceFile))
            {
                while (sr.EndOfStream == false)
                {
                    rawLine        = sr.ReadLine();
                    rawLineLength += rawLine.Length;
                    //calculate progress
                    //keep track of current stream position
                    double percent = Math.Round((rawLineLength) * 100f / fileLength, 2);

                    #region DATA
                    if (rawLine.StartsWith("HDR")) //HEADER: Reset the current Service Part Number
                    {
                        pkgSpec = null;
                        rmk     = null;
                        currentDetails.Clear(); currentRemarkCode.Clear(); currentBOM.Clear();
                        currentServicePartNumber = "";
                        packedServicePart        = "";
                        rawSpec = "";
                    }
                    else if (rawLine.StartsWith("TRL")) //TRAILER: Reset the current Service Part Number
                    {
                        if (pkgSpec != null)
                        {
                            index = index + 1;

                            processSpec(SpecsFolder, pkgSpec, percent, currentDetails,
                                        currentBOM, currentRemarkCode, rmk, rawSpec);

                            arinvtTable.InsertIntoDataFile(true);

                            ShowProgress(pkgSpec, percent);
                        }
                        pkgSpec = null;
                        rmk     = null;
                        currentDetails.Clear(); currentRemarkCode.Clear(); currentBOM.Clear();
                        currentServicePartNumber = "";
                        packedServicePart        = "";
                        rawSpec = "";
                    }
                    else if (rawLine.StartsWith("DET1")) ///HEADER SPECIFICATION
                    {
                        if (pkgSpec != null)
                        {
                            index = index + 1;

                            processSpec(SpecsFolder, pkgSpec, percent, currentDetails,
                                        currentBOM, currentRemarkCode, rmk, rawSpec);

                            arinvtTable.InsertIntoDataFile(false);

                            ShowProgress(pkgSpec, percent);
                        }
                        currentDetails.Clear(); currentRemarkCode.Clear(); currentBOM.Clear();
                        currentServicePartNumber = "";
                        packedServicePart        = "";
                        rawSpec = "";

                        pkgSpec  = new SPECIFICATION(rawLine);
                        rawSpec += (rawLine + System.Environment.NewLine);

                        currentServicePartNumber = pkgSpec.ServicePartNo;
                        packedServicePart        = pkgSpec.PackedServicePart;
                    }
                    else if (rawLine.StartsWith("DET2") && currentServicePartNumber != "") //DETAIL/LEVEL
                    {
                        DETAILS pkgLevel = new DETAILS(rawLine, currentServicePartNumber, pkgSpec);
                        rawSpec += (rawLine + System.Environment.NewLine);
                        currentDetails.Add(pkgLevel);
                    }
                    #endregion

                    #region Others

                    /*
                     * else if (rawLine.StartsWith("DET3") && currentServicePartNumber != "") //REMARK CODE
                     * {
                     *  REMARKCODE rmkCode = new REMARKCODE(rawLine, currentServicePartNumber);
                     *  rawSpec += (rawLine + System.Environment.NewLine);
                     *  currentRemarkCode.Add(rmkCode);
                     * }
                     * else if (rawLine.StartsWith("DET4") && currentServicePartNumber != "") //REMARK
                     * {
                     *  rmk = new REMARK(rawLine, currentServicePartNumber);
                     *  rawSpec += (rawLine + System.Environment.NewLine);
                     *
                     * }
                     * else if (rawLine.StartsWith("DET5") && currentServicePartNumber != "") //BOM
                     * {
                     *  BOM bom = new BOM(rawLine, currentServicePartNumber);
                     *  rawSpec += (rawLine + System.Environment.NewLine);
                     *
                     *  currentBOM.Add(bom);
                     * }
                     * //*/
                    #endregion
                }
            }
            //*/
            #endregion

            //in case there are data items not inserted into the sql loader data file
            arinvtTable.InsertIntoDataFile(true);

            //SQLLoader.RunControlFile(arinvtTable);
            SQLLoader.RunControlFile(arinvtTable.GetControlFilePath(),
                                     arinvtTable.GetSqlLoaderTableName(), arinvtTable.TotalItems());

            arinvtTable.StageIntoRealTable();
        }