public static Guid AddGroupLine(tblGroupLine aGroupLine) { using (var db = new Odiss_OPG_BaseEntities()) { if (aGroupLine.Guid == Guid.Empty) { aGroupLine.Guid = Guid.NewGuid(); } db.Entry(aGroupLine).State = EntityState.Added; db.SaveChanges(); return(aGroupLine.Guid); } }
public void TestAddGroupLine() { //Arrange tblGroupLine aGroupLine = new tblGroupLine(); Guid referenceId = new Guid("EF088139-9C02-4EC8-9D55-51FF702B72FE"); aGroupLine.Qty = 11; aGroupLine.UOM = "UOM"; aGroupLine.UnitPrice = 100; aGroupLine.ReferenceId = referenceId; //Act var guid = TblGroupHelper.AddGroupLine(aGroupLine); //Assert Assert.AreNotEqual(null, guid); }
public static int ParseAribaPrimaryXMLFile(string sourceFullFolder, string primaryFileName, DateTime finalizationTime, out tblGroup group, out List <tblGroupLine> groupLines, out string processMessage) { group = new tblGroup(); groupLines = new List <tblGroupLine>(); processMessage = ""; if (!File.Exists($"{sourceFullFolder}{primaryFileName}")) { processMessage = $"Primary XML file: { sourceFullFolder}{ primaryFileName} does not exist."; OdissLogger.Error(processMessage); return(-1); } XmlDocument doc = new XmlDocument(); doc.Load($"{sourceFullFolder}{primaryFileName}"); XmlNode invoiceDetailRequest = doc.SelectSingleNode("/cXML/Request/InvoiceDetailRequest"); XmlNode requestHeader = invoiceDetailRequest.SelectSingleNode("InvoiceDetailRequestHeader"); string invoiceID = requestHeader.Attributes["invoiceID"].Value; group.InvoiceNo = invoiceID; XmlNode nodeGrossAmount = invoiceDetailRequest.SelectSingleNode("InvoiceDetailSummary/GrossAmount"); string strGrossAmount = nodeGrossAmount.SelectSingleNode("Money").InnerText; decimal grossAmount; if (!decimal.TryParse(strGrossAmount, out grossAmount)) { processMessage = $"File:{sourceFullFolder}{primaryFileName} has invalid GrossAmount:{strGrossAmount}"; OdissLogger.Error(processMessage); return(-2); } group.TotalAmount = grossAmount; group.GUID = Guid.NewGuid(); group.I_CaptureDate = DateTime.Now; XmlNodeList invoiceDetailOrders = invoiceDetailRequest.SelectSingleNode("InvoiceDetailOrder").SelectNodes("InvoiceDetailItem"); XmlNode nodeInvoiceDetailOrderInfo = invoiceDetailRequest.SelectSingleNode("InvoiceDetailOrder/InvoiceDetailOrderInfo/MasterAgreementIDInfo"); string PONumber = nodeInvoiceDetailOrderInfo.Attributes["agreementID"].Value; group.PONumber = PONumber; foreach (XmlNode item in invoiceDetailOrders) { string uom = item.SelectSingleNode("UnitOfMeasure").InnerText; string unitPrice = item.SelectSingleNode("UnitPrice/Money").InnerText; string quantity = item.Attributes["quantity"].Value; string strLineNumber = item.Attributes["invoiceLineNumber"].Value; tblGroupLine aline = new tblGroupLine(); aline.UOM = uom; aline.Qty = int.Parse(quantity); aline.UnitPrice = decimal.Parse(unitPrice); aline.Guid = Guid.NewGuid(); aline.ReferenceId = group.GUID; aline.InvoiceLineNumber = int.Parse(strLineNumber); groupLines.Add(aline); } return(1); }