private void convertFromSinexPo(SinexPo po) { voucherNumber = po.poNumber; vendorId = po.clientVendorId; documentAmount = decimal.Parse(po.poTotal); paymentTermsId = po.terms; shippingMethod = po.shippingMethod; }
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"; }
public PurchaseOrderHeader(SinexPo sinexPo) { convertFromSinexPo(sinexPo); CommonConstructor(); }
public PmTransaction(SinexPo sinexPo, ServerConnection inConnection) { connection = inConnection; convertFromSinexPo(sinexPo); CommonConstructor(); }
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; } } }
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); }