private EDIXmlTransactionSet create_transaction_set(OrderRequestReceivedMessage ackMessage) { if (ackMessage.LineCount == 0) { throw new Exception("PO contains no line items!"); } var doc = new EDIXmlTransactionSet(_segmentFactory) { ISA = _repo.GetNextISA(GroupTypeConstants.POAcknowledgement, BusinessPartner.Initech.Number) }; var docDef = _repo.GetNextDocument(doc.ISA, 855); doc.SetHeader("855", docDef.ControlNumber); doc.AddSegment(get_begin_segment(ackMessage)); doc.AddSegment(_segmentFactory.GetAddressName("Austin Foam Plastics", NameCodeConstants.Vendor, "", "")); var lines = new EDIXmlMixedContainer("PO1"); ackMessage.LineItems.ForEach(l => add_line(lines, l)); doc.AddLoop(lines); doc.AddSegment(_segmentFactory.GetTransactionTotal(ackMessage.LineCount)); doc.SetFooter(); return(doc); }
// private EDIXmlSegment get_terms(InvoicedOrderMessage message) // { // TermsOfSale terms = message.Customer.Terms; // return _segmentFactory.GetTerms("14", terms.DiscountPercent, // DateTime.Today.AddDays(terms.DiscountDays), DateTime.Today.AddDays(terms.NetDays)); // } private EDIXmlMixedContainer get_detail_loop(InvoicedOrderMessage orderMessage, IList <DocumentLineItemEntity> lines) { var loop = new EDIXmlMixedContainer("IT1"); orderMessage.LineItems.ForEach(l => add_line(loop, l, lines)); return(loop); }
private EDIXmlMixedContainer get_detail_loop(OrderRequestReceivedMessage orderRequestReceivedMessage) { var loop = new EDIXmlMixedContainer("PO1"); orderRequestReceivedMessage.LineItems.ForEach(l => add_line(loop, l)); return(loop); }
private void add_line(EDIXmlMixedContainer lines, CustomerOrderLine l) { lines.AddSegment(_segmentFactory.GetPOLine(l.LineNumber.ToString(), l.RequestedQuantity, l.RequestedPrice, l.CustomerPartNumber, "", l.ItemDescription)); lines.AddSegment(_segmentFactory.GetAckLine("IA", l.RequestedQuantity, get_delivery_date().ToString("yyyyMMdd"), l.CustomerPartNumber, "", l.ItemDescription)); }
private void add_address(EDIXmlMixedContainer container, Address address, string qualifier, string code) { if (address == null) { return; } container.AddSegment(_segmentFactory.GetAddressName(address.AddressName, address.AddressType, qualifier, code)); container.AddSegment(_segmentFactory.GetAddressLine(address.Address1, address.Address2)); container.AddSegment(_segmentFactory.GetGeographicInfo(address.City, address.State, address.Zip, "US")); }
private EDIXmlMixedContainer get_address_loop(OrderRequestReceivedMessage orderRequestReceivedMessage) { var loop = new EDIXmlMixedContainer("N1"); if (orderRequestReceivedMessage.ShipToAddress == null) { throw new ApplicationException("There are no ship to address associated with order"); } add_address(loop, orderRequestReceivedMessage.ShipToAddress); add_address(loop, orderRequestReceivedMessage.GetBillToAddress()); return(loop); }
private EDIXmlMixedContainer get_address_loop(InvoicedOrderMessage orderMessage) { var loop = new EDIXmlMixedContainer("N1"); if (orderMessage.ShipToAddress == null && orderMessage.GetBillToAddress() == null) { throw new ApplicationException("There are no bill to address associated with customer " + orderMessage.GetCustomerId() + ". Cannot build 810."); } add_address(loop, orderMessage.ShipFromAddress, Qualifier.AssignedByBuyer.Value, BusinessPartner.Initech.VendorIdOfAfp); add_address(loop, orderMessage.ShipToAddress, "", ""); add_address(loop, orderMessage.GetBillToAddress(), "", ""); return(loop); }
private void add_line(EDIXmlMixedContainer container, InvoicedOrderLine line, IList <DocumentLineItemEntity> lines) { var orderLine = lines.Find(l => l.LineIdentifier == line.LineNumber.ToString()); IDictionary <Qualifier, string> values = new Dictionary <Qualifier, string> { { Qualifier.InvoiceVendorPart, line.ItemID }, { Qualifier.PartDescription, line.ItemDescription }, { Qualifier.PONumber, line.CustomerPO }, { Qualifier.EmptyQualifier, "" }, { Qualifier.POLineNumber, get_formatted_po_line(line.LineNumber) } }; container.AddSegment(_segmentFactory.GetLineItemInvoiceDetail(line.LineNumber.ToString(), line.Quantity, line.Price, values)); if (orderLine == null) { return; } orderLine.ResponseElements.ForEach(r => container.AddSegment(_segmentFactory.GetReferenceIDSegment(r.Qualifier, r.Value))); }
public void AddLoop(EDIXmlMixedContainer loop) { base.Add(loop); }
private void add_ref_segment(EDIXmlMixedContainer hl, LineResponseElementEntity r) { hl.AddSegment(_segmentFactory.GetReferenceIDSegment(r.Qualifier, r.Value)); Logger.Info(this, "Qualifier: " + r.Qualifier + "; Value: " + r.Value); }
private void add_line(EDIXmlMixedContainer container, CustomerOrderLine line) { container.AddSegment(_segmentFactory.GetPOLine(line.LineNumber.ToString(), line.RequestedQuantity, line.RequestedPrice, line.CustomerPartNumber, line.ItemId, line.ItemDescription)); }
private void add_address(EDIXmlMixedContainer container, Address address) { container.AddSegment(_segmentFactory.GetAddressName(address.AddressName, address.AddressType, "", "")); container.AddSegment(_segmentFactory.GetAddressLine(address.Address1, address.Address2)); container.AddSegment(_segmentFactory.GetGeographicInfo(address.City, address.State, address.Zip, "US")); }