public void Execute(IEdiMessage message) { if (_specs.Count == 0) throw new Exception("Specifications are not Registered"); _specs.Where(spec => spec.IsSatisfiedBy(message)) .Each(spec => spec.Execute(message)); }
public static void ProcessFooter(Segment seg, IEdiMessage ediMessage, string ElementDelimiter, int segmentsProcessed) { int expected = seg.GetElements(ElementDelimiter)[1].CastToInt(); if (segmentsProcessed != expected) throw new InvalidEDIDocumentException("Segments processed does not match included segment count! Segments processed = " + segmentsProcessed + "; expected " + expected); if (ediMessage.ControlNumber != seg.GetElements(ElementDelimiter)[2]) throw new InvalidEDIDocumentException("Control numbers in _header and _footer do not match!"); }
public static void ProcessFooter(List<Segment> seg_list, IEdiMessage ediMessage, string ElementDelimiter, int segmentsProcessed) { Segment temp_seg = seg_list.FindSegmentByLabel(SegmentLabel.DocumentClose); int expected = temp_seg.GetElements(ElementDelimiter)[1].CastToInt(); if (segmentsProcessed != expected) throw new InvalidEDIDocumentException("Segments processed does not match included segment count! Segments processed = " + segmentsProcessed + "; expected " + expected); if (ediMessage.ControlNumber != temp_seg.GetElements(ElementDelimiter)[2]) throw new InvalidEDIDocumentException("Control numbers in _header and _footer do not match!"); seg_list.Remove(temp_seg); }
public void Execute(IEdiMessage message) { var orderHasBeenShippedMessage = (OrderHasBeenShippedMessage) message; var ediAsnSentMessageToBeSent = new EdiAsnSentMessage() { ControlNumber = orderHasBeenShippedMessage.ControlNumber, BOL = orderHasBeenShippedMessage.BOL, LineNumbers = orderHasBeenShippedMessage.GetLineNumbers().ToList() }; _publisher.Publish(ediAsnSentMessageToBeSent); }
public static void ProcessFooter(List <Segment> seg_list, IEdiMessage ediMessage, string ElementDelimiter, int segmentsProcessed) { Segment temp_seg = seg_list.FindSegmentByLabel(SegmentLabel.DocumentClose); int expected = temp_seg.GetElements(ElementDelimiter)[1].CastToInt(); if (segmentsProcessed != expected) { throw new InvalidEDIDocumentException("Segments processed does not match included segment count! Segments processed = " + segmentsProcessed + "; expected " + expected); } if (ediMessage.ControlNumber != temp_seg.GetElements(ElementDelimiter)[2]) { throw new InvalidEDIDocumentException("Control numbers in _header and _footer do not match!"); } seg_list.Remove(temp_seg); }
public IList<DocumentLineItemEntity> ProcessLines(List<Segment> lst, IEdiMessage doc) { _lines.Clear(); var co = doc as OrderRequestReceivedMessage; if (co == null) return null; lst.RemoveWhile(seg => seg.Label != SegmentLabel.PurchaseOrder); _poParser.ProcessLines(lst, doc); CustomerOrderLine line; do { line = build_line(lst, SegmentLabel.SummaryLabel); if(line != null) co.Add(line); } while (line != null) ; return _lines; }
public void ProcessAddresses(List<Segment> lst, IEdiMessage ediMessage) { lst.RemoveWhile(seg => seg.Label != EDIConstants.AddressNameLabel); var addr_loop = new List<Segment>(); while (EDIUtilities.MoveSegmentByLabel(lst, addr_loop, EDIConstants.AddressNameLabel)) { SegmentCount++; Segment next_seg = lst[0]; while (next_seg.Label == EDIConstants.AddressLineLabel || next_seg.Label == EDIConstants.GeographicLabel) { SegmentCount++; EDIUtilities.MoveSegment(lst, addr_loop, next_seg); next_seg = lst[0]; } ediMessage.AddAddress(process_address(addr_loop)); addr_loop.Clear(); } }
public void ProcessAddresses(List <Segment> lst, IEdiMessage ediMessage) { lst.RemoveWhile(seg => seg.Label != EDIConstants.AddressNameLabel); var addr_loop = new List <Segment>(); while (EDIUtilities.MoveSegmentByLabel(lst, addr_loop, EDIConstants.AddressNameLabel)) { SegmentCount++; Segment next_seg = lst[0]; while (next_seg.Label == EDIConstants.AddressLineLabel || next_seg.Label == EDIConstants.GeographicLabel) { SegmentCount++; EDIUtilities.MoveSegment(lst, addr_loop, next_seg); next_seg = lst[0]; } ediMessage.AddAddress(process_address(addr_loop)); addr_loop.Clear(); } }
public IList <DocumentLineItemEntity> ProcessLines(List <Segment> lst, IEdiMessage doc) { _lines.Clear(); var co = doc as OrderRequestReceivedMessage; if (co == null) { return(null); } lst.RemoveWhile(seg => seg.Label != SegmentLabel.PurchaseOrder); _poParser.ProcessLines(lst, doc); CustomerOrderLine line; do { line = build_line(lst, SegmentLabel.SummaryLabel); if (line != null) { co.Add(line); } } while (line != null); return(_lines); }
public bool CanPublish(IEdiMessage msg) { return(msg.GetType() == typeof(OrderHasBeenShippedMessage)); }
public bool CanProcess(IEdiMessage msg) { return(msg.DocumentId == EdiDocumentTypes.PurchaseOrder.DocumentNumber && msg.BusinessPartnerCode == BusinessPartner.Initech.Code); }
public bool Accept(IEdiMessage message) { return (message.BusinessPartnerCode == "FEDEX") ; }
public async Task Send(Company.Company f, Company.Company to, IEdiMessage message) { }
public bool CanPublish(IEdiMessage msg) { return(true); }
private void publish(IEdiMessage obj) { obj.Publish(); }
public DocumentRecordPackage(IEdiMessage msg, IEnumerable<ResponseElementEntity> responseValues, IEnumerable<DocumentLineItemEntity> lines) { Message = msg; ResponseValues = responseValues; Lines = lines; }
public virtual IList<DocumentLineItemEntity> ProcessLines(List<Segment> lst, IEdiMessage doc) { SegmentCount = 0; _currentLine.Clear(); return null; }
private void process_footer(List<Segment> segList, IEdiMessage order, int segmentsProcessed) { EDIUtilities.ProcessFooter(segList, order, _genericParser.ElementDelimiter, segmentsProcessed + 1); }
public DocumentRecordPackage(IEdiMessage msg, IEnumerable <ResponseElementEntity> responseValues, IEnumerable <DocumentLineItemEntity> lines) { Message = msg; ResponseValues = responseValues; Lines = lines; }
public virtual void ProcessLines(List <Segment> lst, IEdiMessage doc) { SegmentCount = 0; _current_line.Clear(); }
public bool CanPublish(IEdiMessage msg) { return msg.GetType() == typeof(OrderHasBeenShippedMessage); }
public void PublishMessage(IEdiMessage ediMessage) { }
public void PublishMessage(IEdiMessage ediMessage) { publish((OrderHasBeenShippedMessage) ediMessage); }
public static IEdiMessagePublisher Publisher(this IEdiMessage ediMessage) { var publishers = ServiceLocator.Current.GetAllInstances(typeof(IEdiMessagePublisher)).Select(p => (IEdiMessagePublisher)p); return(publishers.Find(p => p.CanPublish(ediMessage))); }
public virtual IList <DocumentLineItemEntity> ProcessLines(List <Segment> lst, IEdiMessage doc) { SegmentCount = 0; _currentLine.Clear(); return(null); }
public new bool CanProcess(IEdiMessage msg) { return(msg.GetType() == typeof(OrderIsBackorderedMessage) && msg.BusinessPartnerCode == BusinessPartner.Initech.Code); }
public bool CanPublish(IEdiMessage msg) { return(msg.GetType() == typeof(OrderChangeRequestReceivedMessage)); }
public void PublishMessage(IEdiMessage ediMessage) { publish((OrderChangeRequestReceivedMessage)ediMessage); }
public bool IsSatisfiedBy(IEdiMessage message) { return(message.GetType() == typeof(OrderHasBeenShippedMessage)); }
public virtual void ProcessLines(List<Segment> lst, IEdiMessage doc) { SegmentCount = 0; _current_line.Clear(); }
public bool Accept(IEdiMessage message) { return(message.BusinessPartnerCode == "FEDEX"); }
public bool CanProcess(IEdiMessage msg) { return(msg.GetType() == typeof(OrderHasBeenShippedMessage) && msg.BusinessPartnerCode == BusinessPartner.Initech.Code); }
public void PublishMessage(IEdiMessage ediMessage) { publish((OrderHasBeenShippedMessage)ediMessage); }
public bool CanPublish(IEdiMessage msg) { return msg.GetType() == typeof(OrderChangeRequestReceivedMessage); }
public bool IsSatisfiedBy(IEdiMessage message) { return message.GetType() == typeof(OrderHasBeenShippedMessage); }
private int process_line_items(List<Segment> segList, IEdiMessage order) { var refs = _lineParser.ProcessLines(segList, order); _recorder.MemorizeInnerReferences(refs, order.ControlNumber, BusinessPartner.Initech); return _lineParser.SegmentCount; }
void IAddressParser.ProcessAddresses(List <Segment> segments, IEdiMessage ediMessage) { throw new System.NotImplementedException(); }
private void process_footer(List <Segment> segList, IEdiMessage order, int segmentsProcessed) { EDIUtilities.ProcessFooter(segList, order, _genericParser.ElementDelimiter, segmentsProcessed + 1); }
public bool CanPublish(IEdiMessage msg) { return true; }
public bool CanProcess(IEdiMessage msg) { return(msg.GetType() == typeof(OrderRequestReceivedMessage) && msg.BusinessPartnerNumber == BusinessPartner.FedEx.Number); }