/// <summary>
        /// Processes the specified arguments.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public override void Process(Sitecore.Commerce.Pipelines.ServicePipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.ArgumentNotNull(args.Request, "args.request");
            Assert.ArgumentNotNull(args.Result, "args.result");

            RefSFArguments.TranslateEntityToOrderAddressRequest request = (RefSFArguments.TranslateEntityToOrderAddressRequest)args.Request;
            Assert.ArgumentNotNull(request.SourceParty, "request.SourceParty");
            Assert.ArgumentNotNull(request.DestinationAddress, "request.DestinationAddress");

            if (request.SourceParty is ConnectOrderModels.CommerceParty)
            {
                this.TranslateCommerceParty(request.SourceParty as ConnectOrderModels.CommerceParty, request.DestinationAddress);
            }
            else if (request.SourceParty is EmailParty)
            {
                this.TranslateEmailParty(request.SourceParty as EmailParty, request.DestinationAddress);
            }
            else
            {
                this.TranslateCustomParty(request.SourceParty, request.DestinationAddress);
            }

            TranslateEntityToOrderAddressResult result = (TranslateEntityToOrderAddressResult)args.Result;

            result.Address = request.DestinationAddress;
        }
Exemple #2
0
        /// <summary>
        /// Processes the specified arguments.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public override void Process(Sitecore.Commerce.Pipelines.ServicePipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.ArgumentNotNull(args.Request, "args.request");
            Assert.ArgumentNotNull(args.Result, "args.result");

            Party        requestSourceParty;
            OrderAddress requestDestinationAddress;

            if (args.Request is TranslateEntityToOrderAddressRequest)
            {
                var refStorefrontRequest = (TranslateEntityToOrderAddressRequest)args.Request;
                Assert.ArgumentNotNull(refStorefrontRequest.SourceParty, "request.SourceParty");
                Assert.ArgumentNotNull(refStorefrontRequest.DestinationAddress, "request.DestinationAddress");

                requestSourceParty        = refStorefrontRequest.SourceParty;
                requestDestinationAddress = refStorefrontRequest.DestinationAddress;
            }
            else
            {
                var csConnectRequest = (Sitecore.Commerce.Connect.CommerceServer.Orders.Pipelines.TranslateEntityToOrderAddressRequest)args.Request;
                Assert.ArgumentNotNull(csConnectRequest.SourceParty, "request.SourceParty");
                Assert.ArgumentNotNull(csConnectRequest.DestinationAddress, "request.DestinationAddress");

                requestSourceParty        = csConnectRequest.SourceParty;
                requestDestinationAddress = csConnectRequest.DestinationAddress;
            }

            if (requestSourceParty is ConnectOrderModels.CommerceParty)
            {
                this.TranslateCommerceParty(requestSourceParty as ConnectOrderModels.CommerceParty, requestDestinationAddress);
            }
            else if (requestSourceParty is EmailParty)
            {
                this.TranslateEmailParty(requestSourceParty as EmailParty, requestDestinationAddress);
            }
            else
            {
                this.TranslateCustomParty(requestSourceParty, requestDestinationAddress);
            }

            TranslateEntityToOrderAddressResult result = (TranslateEntityToOrderAddressResult)args.Result;

            result.Address = requestDestinationAddress;
        }