Exemple #1
0
        private Party UpdateOrderAddress(OrderAddress address, Party party, UpdatePartiesRequest request)
        {
            var orderAddressMapper = ObjectFactory.Instance.Resolve <IMapping <OrderAddress, Party> >();

            if (IsFromUcommerce(request))
            {
                return(orderAddressMapper.Map(address));
            }

            var addAddressPipeline = PipelineFactory.Create <IPipelineArgs <AddAddressRequest, AddAddressResult> >("AddAddress");

            var addAddressPipelineArgs = new AddAddressPipelineArgs(new AddAddressRequest()
            {
                PurchaseOrder        = address.PurchaseOrder,
                ExistingOrderAddress = address,
                AddressName          = party.PartyId,
                FirstName            = party.FirstName,
                LastName             = party.LastName,
                EmailAddress         = party.Email,
                Line1       = party.Address1,
                Line2       = party.Address2,
                PostalCode  = party.ZipPostalCode,
                City        = party.City,
                State       = party.State,
                CountryId   = FindCountryIdByName(party.Country),
                PhoneNumber = party.PhoneNumber
            }, new AddAddressResult());

            addAddressPipelineArgs.Request.Properties["FromUCommerce"] = false;
            addAddressPipeline.Execute(addAddressPipelineArgs);

            return(orderAddressMapper.Map(addAddressPipelineArgs.Response.OrderAddress));
        }
        private Party AddPartyToCart(Party party, AddPartiesRequest request)
        {
            if (IsFromUcommerce(request))
            {
                return(party);
            }

            var addAddressPipeline = PipelineFactory.Create <IPipelineArgs <AddAddressRequest, AddAddressResult> >("AddAddress");
            var orderAddressMapper = ObjectFactory.Instance.Resolve <IMapping <OrderAddress, Party> >();
            var purchaseOrder      = _basketService.GetBasketByCartExternalId(request.Cart.ExternalId).PurchaseOrder;

            var addAddressPipelineArgs = new AddAddressPipelineArgs(new AddAddressRequest()
            {
                PurchaseOrder = purchaseOrder,
                AddressName   = party.PartyId,
                FirstName     = party.FirstName,
                LastName      = party.LastName,
                EmailAddress  = party.Email,
                Line1         = party.Address1,
                Line2         = party.Address2,
                PostalCode    = party.ZipPostalCode,
                City          = party.City,
                State         = party.State,
                CountryId     = FindCountryIdByName(party.Country),
                PhoneNumber   = party.PhoneNumber,
                Company       = party.Company
            }, new AddAddressResult());

            addAddressPipelineArgs.Request.Properties["FromUCommerce"] = false;
            addAddressPipeline.Execute(addAddressPipelineArgs);
            party = orderAddressMapper.Map(addAddressPipelineArgs.Response.OrderAddress);

            if (party.PartyId == "Billing")
            {
                purchaseOrder.BillingAddress = addAddressPipelineArgs.Response.OrderAddress;
                purchaseOrder.Save();
            }


            return(party);
        }