예제 #1
0
        public ManagerResponse <CreateUserResult, CommerceUser> RegisterUserCustomer(IStorefrontContext storefrontContext, string userName, string password,
                                                                                     string email, string secondaryEmail)
        {
            Assert.ArgumentNotNull(storefrontContext, nameof(storefrontContext));
            Assert.ArgumentNotNullOrEmpty(userName, nameof(userName));
            Assert.ArgumentNotNullOrEmpty(password, nameof(password));
            CreateUserResult createUserResult1;

            try
            {
                var createUserRequest = new CreateUserRequest(userName, password, email, storefrontContext.CurrentStorefront.ShopName);
                createUserRequest.Properties.Add("SecondEmail", secondaryEmail);
                createUserResult1 = CustomerServiceProvider.CreateUser(createUserRequest);
                //createUserResult1 = CustomerServiceProvider.CreateUser(new CreateUserRequest(userName, password, email, storefrontContext.CurrentStorefront.ShopName));
                if (!createUserResult1.Success)
                {
                    Helpers.LogSystemMessages(createUserResult1.SystemMessages, createUserResult1);
                }
                else if (createUserResult1.Success)
                {
                    if (createUserResult1.CommerceUser == null)
                    {
                        if (createUserResult1.SystemMessages.Count == 0)
                        {
                            createUserResult1.Success = false;
                            createUserResult1.SystemMessages.Add(new SystemMessage()
                            {
                                Message = storefrontContext.GetSystemMessage("User Already Exists")
                            });
                        }
                    }
                }
            }
            catch (MembershipCreateUserException ex)
            {
                CreateUserResult createUserResult2 = new CreateUserResult {
                    Success = false
                };
                createUserResult1 = createUserResult2;
                createUserResult1.SystemMessages.Add(new SystemMessage()
                {
                    Message = ErrorCodeToString(storefrontContext, ex.StatusCode)
                });
            }
            catch (Exception ex)
            {
                CreateUserResult createUserResult2 = new CreateUserResult {
                    Success = false
                };
                createUserResult1 = createUserResult2;
                createUserResult1.SystemMessages.Add(new SystemMessage()
                {
                    Message = storefrontContext.GetSystemMessage("Unknown Membership Provider Error")
                });
            }
            CreateUserResult serviceProviderResult = createUserResult1;

            return(new ManagerResponse <CreateUserResult, CommerceUser>(serviceProviderResult, serviceProviderResult.CommerceUser));
        }
 /// <summary>
 /// Rules engine condition implementation to determine if the name of an index
 /// contains a specific value.
 /// </summary>
 /// <param name="ruleContext">Rules processing context.</param>
 /// <returns>Returns true if the name of the index contains the specified value.</returns>
 protected override bool Execute(T ruleContext)
 {
     Assert.ArgumentNotNull(ruleContext, "ruleContext");
     Assert.ArgumentNotNull(ruleContext.IndexName, "ruleContext.IndexName)");
     Assert.ArgumentNotNullOrEmpty(this.MatchIndexNameAgainst, "MatchIndexNameAgainst");
     return(ruleContext.IndexName.ToLower().Contains(
                this.MatchIndexNameAgainst.ToLower()));
 }
예제 #3
0
 /// <summary>
 /// Rules engine condition implementation to determine
 /// if the name of the database associated with an index
 /// matches a specific value.
 /// </summary>
 /// <param name="ruleContext">Rules processing context.</param>
 /// <returns>Returns true if the name of the database associated with the index
 /// matches the specified value.</returns>
 protected override bool Execute(T ruleContext)
 {
     Assert.ArgumentNotNull(ruleContext, "ruleContext");
     Assert.ArgumentNotNull(ruleContext.IndexedDatabaseName, "ruleContext.IndexedDatabaseName)");
     Assert.ArgumentNotNullOrEmpty(this.MatchIndexedDatabaseNameAgainst, "MatchIndexedDatabaseNameAgainst");
     return(string.Equals(
                ruleContext.IndexedDatabaseName,
                this.MatchIndexedDatabaseNameAgainst,
                StringComparison.InvariantCultureIgnoreCase));
 }
        /// <summary>
        /// Empty implementation.
        /// </summary>
        /// <param name="searchIndex">Search index.</param>
        public void Initialize(CS.ISearchIndex searchIndex)
        {
            Assert.ArgumentNotNull(searchIndex, "searchIndex");
            Assert.ArgumentNotNullOrEmpty(searchIndex.Name, "searchIndex.Name");

            if (!string.IsNullOrEmpty(this.RuleDatabaseName))
            {
                return;
            }

            string[] parts = searchIndex.Name.Split('_');

            if (parts.Length < 2)
            {
                return;
            }

            if (SC.StringUtil.Contains(
                    parts[1],
                    SC.Configuration.Factory.GetDatabaseNames()))
            {
                this.RuleDatabaseName = parts[1];
            }
        }