示例#1
0
 private void convertFromSinexPo(SinexPo po)
 {
     voucherNumber  = po.poNumber;
     vendorId       = po.clientVendorId;
     documentAmount = decimal.Parse(po.poTotal);
     paymentTermsId = po.terms;
     shippingMethod = po.shippingMethod;
 }
示例#2
0
            private void convertFromSinexPo(SinexPo po)
            {
                vchnumwk  = po.poNumber;
                vendorId  = VendorId(po.vendorname, connection.Database);
                docamnt   = decimal.Parse(po.poTotal);
                docnumbr  = vchnumwk;
                bachnumb  = "1";
                doctype   = 1;
                mscchamt  = 0.00M;
                prchamnt  = docamnt;
                taxamnt   = 0.00M;
                frtamnt   = 0.00M;
                trdisamt  = 0.00M;
                chrgamnt  = docamnt;
                cashamnt  = 0.00M;
                checkamnt = 0.00M;
                crcrdamt  = 0.00M;
                distknam  = 0.00M;
                //long milliseconds = DateTime.Now.Ticks;
                DateTime requiredByDate = po.requiredBy.FromMicrosoftTime();

                docdate = $"{requiredByDate.ToString("yyyy-MM-dd")} 00:00:00.000";
            }
示例#3
0
 public PurchaseOrderHeader(SinexPo sinexPo)
 {
     convertFromSinexPo(sinexPo);
     CommonConstructor();
 }
示例#4
0
 public PmTransaction(SinexPo sinexPo, ServerConnection inConnection)
 {
     connection = inConnection;
     convertFromSinexPo(sinexPo);
     CommonConstructor();
 }
示例#5
0
文件: Http.cs 项目: kevinatcoe/Sinex
            public static void TraverseFile(string file)
            {
                int errorCount = 0;
                List <PurchaseOrderHeader> listPurchaseOrders = new List <PurchaseOrderHeader>();
                PurchaseOrderHeader        poHeader;
                PmTransaction pmTransaction;
                Log           log = new Log(@"C:\Sinex\TraverseLog.txt");

                log.Clear();
                TextFile.WriteTextFile(@"C:\Sinex\File.txt", file);
                CurrentStructure currentStructure = CurrentStructure.start;
                int     currentIndex = 0;
                int     fileLength   = file.Length;
                Bracket nextBracket  = new Bracket();

                nextBracket = NextBracket(file, currentIndex);
                bool        continueLoop = true;
                int         recordStart  = 0;
                int         recordEnd    = 0;
                string      record       = "";
                SinexPo     po           = new SinexPo();
                SinexPoLine poLine       = new SinexPoLine();
                string      recordString;
                Log         xmlLog = new Tools.Log(@"C:\Sinex\recordXml.txt");

                xmlLog.Clear();
                while (continueLoop)
                {
                    nextBracket = NextBracket(file, currentIndex);
                    // log.Write("Next => " + nextBracket.ToString());
                    if (nextBracket.Index != -1)
                    {
                        #region switch
                        switch (nextBracket.BracketType)
                        {
                        case "[":
                            switch (currentStructure)
                            {
                            case CurrentStructure.start:
                                currentStructure = CurrentStructure.poLoop;
                                break;

                            case CurrentStructure.poLoop:
                                currentStructure = CurrentStructure.lineLoop;
                                break;

                            case CurrentStructure.lineLoop:
                                MessageBox.Show($"1 - Bad Config " + currentStructure + ", " + currentStructure.ToString());
                                break;

                            default:
                                MessageBox.Show("Bad Config");
                                break;
                            }
                            break;

                        case "]":
                            switch (currentStructure)
                            {
                            case CurrentStructure.start:
                                MessageBox.Show($"2 - Bad Config " + currentStructure + ", " + currentStructure.ToString());
                                break;

                            case CurrentStructure.poLoop:
                                currentStructure = CurrentStructure.start;
                                break;

                            case CurrentStructure.lineLoop:
                                currentStructure = CurrentStructure.poLoop;
                                break;

                            default:
                                MessageBox.Show($"3 - Bad Config " + currentStructure + ", " + currentStructure.ToString());
                                break;
                            }
                            break;

                        case "{":
                            switch (currentStructure)
                            {
                            case CurrentStructure.poLoop:
                                recordStart = nextBracket.Index;
                                recordEnd   = file.IndexOf("lineItems", recordStart) - 2;
                                record      = file.SubFromTo(recordStart, recordEnd) + "}";
                                JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
                                {
                                    DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
                                };
                                //log.Write(record);
                                po = JsonConvert.DeserializeObject <SinexPo>(record, microsoftDateFormatSettings);
                                XNode node = JsonConvert.DeserializeXNode(record, "Root");
                                //xmlLog.Write(node.ToString());
                                recordString = po.ToString();
                                log.Write(" ");
                                log.Write(" ");
                                log.Write("HEADER => " + recordString);
                                log.Write($" - {po.requiredBy}, {po.poCreatedBy}, {po.shipTo}");
                                pmTransaction = new PmTransaction(po, GetGPConnection());
                                //pmTransaction.Insert("TWO");
                                string xml = pmTransaction.ToEconnectXML();
                                //xmlLog.Write("----------------------------------------------");
                                //xmlLog.Write(xml);
                                //xml = xml.RemoveNode("<connection>");
                                //xmlLog.Write("----------------------------------------------");
                                //xmlLog.Write(xml);
                                //xml = xml.RemoveNode("PmTransaction", true);
                                //xmlLog.Write("----------------------------------------------");
                                //xmlLog.Write(xml);
                                //xml = xml.RemoveNode("?xml", true);
                                //xmlLog.Write("----------------------------------------------");
                                //xmlLog.Write(xml);
                                //xml = xml.Replace("</PmTransaction>", "");
                                //xmlLog.Write("----------------------------------------------");
                                //xmlLog.Write(xml);
                                //string header = "<eConnect xmlns:dt=\"urn:schemas - microsoft - com:datatypes\">";
                                //header = header + "<PMTransactionType>";
                                //header = header + "<eConnectProcessInfo>";
                                //header = header + "</eConnectProcessInfo>";
                                //header = header + "<taPMTransactionInsert>";
                                //string footer ="</taPMTransactionInsert>";
                                //footer = footer + "</PMTransactionType>";
                                //footer = footer + "</eConnect>";
                                //xml = header + xml + footer;
                                //xmlLog.Write("----------------------------------------------");
                                xmlLog.Write(xml);
                                errorCount = errorCount + pmTransaction.InsertXml(xml);
                                break;

                            case CurrentStructure.lineLoop:
                                recordStart = nextBracket.Index;
                                recordEnd   = file.IndexOf("}", recordStart) - 1;
                                record      = file.SubFromTo(recordStart, recordEnd) + "}";

                                poLine       = JsonConvert.DeserializeObject <SinexPoLine>(record);
                                recordString = poLine.ToString();
                                log.Write("LINE => " + recordString);
                                po.AddLine(poLine);
                                break;
                            }
                            break;
                            po.ToLog(log);
                        }
                        #endregion Switch
                        currentIndex = nextBracket.Index + 1;
                        if (currentIndex >= fileLength)
                        {
                            continueLoop = false;
                        }
                    }
                    else
                    {
                        continueLoop = false;
                    }
                }
            }
示例#6
0
        private void button1_Click(object sender, EventArgs e)
        {
            AppConfigFile.GetValue("LOGPATH");
            string      url          = "";
            string      result       = "";
            string      resultPrelim = "";
            SinexPoLine poLine       = new Sinex.Http.SinexPoLine();
            string      inputType    = "TextFile";

            switch (inputType)
            {
            case "Download":
                Http.Connection connection = new Http.Connection(url);
                result = connection.Test();
                break;

            case "TextFile":
                resultPrelim = LoadTextFile(@"C:\Temp\Sinex\SinexFile.txt");
                WriteTextFile(@"C:\Temp\Sinex\RawFile.txt", resultPrelim);
                result = GetPos(resultPrelim);
                WriteTextFile(@"C:\Temp\Sinex\Pos.txt", result);
                break;

            case "TextBox":
                result = textBox1.Text;
                break;
            }
            bool      continueLoop        = true;
            int       currentIndex        = 0;
            int       poStart             = 0;
            int       lineItemsArrayStart = result.IndexOf("[");
            int       lineItemsArrayEnd   = result.IndexOf("]");
            int       poArrayEnd          = result.LastIndexOf("]");
            int       poHeaderStart       = 0;
            int       poHeaderEnd         = result.IndexOf("lineItems") - 3;
            int       poEnd          = lineItemsArrayEnd + 1;
            string    poHeader       = "";
            string    poHeaderNumber = "";
            DataTable gridResults    = new DataTable();

            gridResults.Columns.Add(poHeaderNumber, typeof(string));
            while (continueLoop)
            {
                poHeaderStart       = currentIndex;
                lineItemsArrayStart = result.IndexOf("[", currentIndex);
                lineItemsArrayEnd   = result.IndexOf("]", currentIndex);
                poHeaderEnd         = lineItemsArrayEnd; //result.IndexOf("lineItems", currentIndex) - 3;
                poHeader            = result.SubFromTo(poHeaderStart, poHeaderEnd) + "}";
                WriteTextFile(@"C:\Temp\Sinex\poHeader-PO.txt", poHeader);
                SinexPo po = new SinexPo();
                po             = JsonConvert.DeserializeObject <SinexPo>(poHeader);
                poHeaderNumber = po.poNumber;
                WriteTextFile(@"C:\Temp\Sinex\" + poHeaderNumber + " - PO.txt", poHeader);

                currentIndex = poHeaderEnd + 3;
                if (currentIndex == poArrayEnd)
                {
                    continueLoop = false;
                }
                DataRow dr = gridResults.NewRow();
                dr[0] = poHeaderNumber;
                gridResults.Rows.Add(dr);
            }
            grid.DataSource = gridResults;

            //string poHeader = result.SubFromTo(poHeaderStart, poHeaderEnd) + "}";
            //WriteTextFile(@"C:\Temp\Sinex\PoHeader.txt", poHeader);
            //Po po = new Po();
            //po = JsonConvert.DeserializeObject<Po>(poHeader);

            string poLines = result.SubFromTo(lineItemsArrayStart, lineItemsArrayEnd);

            WriteTextFile(@"C:\Temp\Sinex\PoLines.txt", poLines);

            poLine = JsonConvert.DeserializeObject <SinexPoLine>(result);
            //MessageBox.Show(poLine.poNumber);
            log.Write(result);
            MessageBox.Show(result);
        }