private void AddPoContent(string documentName, int pageNumber, PoPurchaseOrder purchaseOrder) { if (purchaseOrder == null) { return; } var partNumber = purchaseOrder.EconomicalInfo.PartNumber; var supersededPartNumber = purchaseOrder.EconomicalInfo.SupersededPartNumber; var currency = purchaseOrder.EconomicalInfo.Currency; var materials = purchaseOrder.Materials; if (materials != null) { foreach (var material in materials) { var effectiveDate = GetDate(material.EffectiveDate); var price = GetDecimal(material.Price); var plantCodeName = material.PlantCodeName; AddContent(_worksheetPo, 'a', _indexPo, plantCodeName); AddContent(_worksheetPo, 'B', _indexPo, partNumber); AddContent(_worksheetPo, 'C', _indexPo, supersededPartNumber); AddContent(_worksheetPo, 'D', _indexPo, currency); AddContent(_worksheetPo, 'E', _indexPo, price); AddContent(_worksheetPo, 'F', _indexPo, effectiveDate); AddContent(_worksheetPo, 'G', _indexPo, documentName, true); AddContent(_worksheetPo, 'H', _indexPo, pageNumber, true); _indexPo++; } } }
public void Process() { PoPurchaseOrder purchaseOrder = null; var line = _context.Line; if (line.StartsWith(PoConstants.PurchaseOrder)) { purchaseOrder = new PoPurchaseOrder(); _context.PurchaseOrder = purchaseOrder; _context.Next(); } else { _context.PurchaseOrder = null; return; } line = _context.Line; if (line.StartsWith(PoConstants.DateOfOrder)) { purchaseOrder.DateOfOrder = line; _context.Next(); } line = _context.Line; if (line.StartsWith(PoConstants.AtpNumber)) { _context.Next(); line = _context.Line; purchaseOrder.AtpNumber = line; _context.Next(); } line = _context.Line; if (line.StartsWith(PoConstants.BuyerEntity)) { _context.State = new PoStateBuyerEntity(_context); _context.Process(); } else { throw new Exception($"[HeaderState] Unknown format: {line}"); } }