private static CommerceIdentity GetDefaultCommerceIdentity()
            {
                using (CommerceRuntime commerceRuntime = CommerceRuntime.Create(CommerceRuntimeManager.GetDefaultCommerceRuntimeConfiguration(), CommercePrincipal.AnonymousPrincipal))
                {
                    ChannelManager channelManager   = ChannelManager.Create(commerceRuntime);
                    var            defaultChannelId = channelManager.GetDefaultChannelId();

                    return(new CommerceIdentity(defaultChannelId, SpecifiedRoles));
                }
            }
            /// <summary>
            /// Initializes a new instance of the <see cref="CommerceRuntimeUserToken"/> class.
            /// </summary>
            /// <param name="initialIdentity">The initial commerce identity.</param>
            /// <param name="newIdentity">The new commerce identity.</param>
            public CommerceRuntimeUserToken(CommerceIdentity initialIdentity, CommerceIdentity newIdentity) : base(CommerceRuntimeTokenSchemeName)
            {
                ThrowIf.Null(newIdentity, "newIdentity");

                if (initialIdentity == null)
                {
                    initialIdentity = new CommerceIdentity();
                }

                CommerceRuntimeManager.UpdateCommerceIdentity(initialIdentity, newIdentity);

                this.commerceRuntimeToken = Newtonsoft.Json.JsonConvert.SerializeObject(initialIdentity);
            }
Exemplo n.º 3
0
            /// <summary>
            /// Sets the user token.
            /// </summary>
            /// <param name="userToken">The user token.</param>
            public void SetUserToken(UserToken userToken)
            {
                UserToken userTokenForUpdate;

                if (userToken == null)
                {
                    userTokenForUpdate = CommerceRuntimeManager.RemoveUserIdentityFromToken(this.userToken);
                }
                else
                {
                    userTokenForUpdate = userToken;
                }

                CommerceRuntimeManager.SetUserIdentity(userTokenForUpdate);
                this.userToken = userToken;
            }
            public decimal GetCrossLoyaltyCardDiscountAction(ODataActionParameters parameters)
            {
                if (parameters == null)
                {
                    throw new ArgumentNullException("parameters");
                }

                var    runtime           = CommerceRuntimeManager.CreateRuntime(this.CommercePrincipal);
                string loyaltyCardNumber = (string)parameters["LoyaltyCardNumber"];

                GetCrossLoyaltyCardResponse resp = runtime.Execute <GetCrossLoyaltyCardResponse>(new GetCrossLoyaltyCardRequest(loyaltyCardNumber), null);

                string logMessage = "GetCrossLoyaltyCardAction successfully handled with card number '{0}'. Returned discount '{1}'.";

                RetailLogger.Log.ExtendedInformationalEvent(logMessage, loyaltyCardNumber, resp.Discount.ToString());
                return(resp.Discount);
            }
            public System.Web.OData.PageResult <SampleDataModel.StoreDayHours> GetStoreDaysByStore(ODataActionParameters parameters)
            {
                if (parameters == null)
                {
                    throw new ArgumentNullException("parameters");
                }

                var runtime = CommerceRuntimeManager.CreateRuntime(this.CommercePrincipal);

                QueryResultSettings queryResultSettings = QueryResultSettings.SingleRecord;

                queryResultSettings.Paging = new PagingInfo(10);

                var request = new GetStoreHoursDataRequest((string)parameters["StoreNumber"])
                {
                    QueryResultSettings = queryResultSettings
                };
                PagedResult <SampleDataModel.StoreDayHours> hours = runtime.Execute <GetStoreHoursDataResponse>(request, null).DayHours;

                return(this.ProcessPagedResults(hours));
            }