Beispiel #1
0
        public void can_save_outer_refs()
        {
            List <Segment> segList = get_seg_list();
            var            cnt     = segList.Count();
            var            lst     = _recorder.MemorizeOuterReferences(segList, _controlNumber, "~", BusinessPartner.Initech);

            lst.Count().ShouldEqual(4);
            _recorder.GetResponseValues().Count().ShouldEqual(4);
        }
Beispiel #2
0
        public DocumentRecordPackage ProcessSegmentList(List <Segment> segList)
        {
            var orderRequestReceivedMessage = _genericParser.ProcessSegmentList(segList);

            orderRequestReceivedMessage.BusinessProcessName = "Initech Purchase Order Processing";

            orderRequestReceivedMessage.BusinessPartnerCode = BusinessPartner.Initech.Code;

            orderRequestReceivedMessage.CustomerBankDescription = BusinessPartner.Initech.Code;

            orderRequestReceivedMessage.BusinessPartnerNumber = BusinessPartner.Initech.Number;

            orderRequestReceivedMessage.GeographicLocation = LOCATION;

            orderRequestReceivedMessage.SpecificLocationNumber = WAREHOUSE;

            orderRequestReceivedMessage.Customer =
                new Customer
            {
                CustomerName = "Initech",
                CustomerIDs  =
                {
                    LegacyCustomerID   = CUSTOMER_ID,
                    SytelineCustomerID = SYTELINE_CUSTOMER_ID
                }
            };


            load_beginning_segment(segList[1], orderRequestReceivedMessage);

            //remove Header And Beginning Segments

            segList.RemoveRange(0, 2);

            int segmentsProcessed = 2;

            var removeList = _recorder.MemorizeOuterReferences(segList, orderRequestReceivedMessage.ControlNumber, _genericParser.ElementDelimiter, BusinessPartner.Initech);

            segmentsProcessed += removeList.Count();

            removeList.ForEach(s => segList.Remove(s));


            orderRequestReceivedMessage.LevelOfService = ServiceLevel.TwoDay; //Hard coded at request of Initech


            segmentsProcessed += process_admin_contact(segList, orderRequestReceivedMessage);

            segmentsProcessed += process_addresses(segList, orderRequestReceivedMessage);

            if (orderRequestReceivedMessage.ShipToAddress != null)
            {
                orderRequestReceivedMessage.ShipToAddress.ContactName = _contactName;
            }

            segmentsProcessed += process_line_items(segList, orderRequestReceivedMessage);

            segmentsProcessed += process_summary(segList, orderRequestReceivedMessage);

            process_footer(segList, orderRequestReceivedMessage, segmentsProcessed);

            return(new DocumentRecordPackage(orderRequestReceivedMessage, _genericParser.ResponseValues, _genericParser.Lines));
        }
Beispiel #3
0
 public IEnumerable <Segment> MemorizeOuterReferences(List <Segment> segList, string controlNumber, BusinessPartner partner)
 {
     return(_recorder.MemorizeOuterReferences(segList, controlNumber, ElementDelimiter, partner));
 }