Пример #1
0
    private void RegisterEmail(string email, string storeID)
    {
        bool isCorrectFormat = checkEmailFormat(email, storeID);

        if (isCorrectFormat)
        {
            string emailHash =
                SecurityUtilities.HashMD5(email + WebConfiguration.SecretKey);

            Store      store      = DataAccessContext.StoreRepository.GetOne(storeID);
            NewsLetter newsLetter = DataAccessContext.NewsLetterRepository.GetOne(email, store);
            if (newsLetter.IsNull)
            {
                newsLetter.Email     = email;
                newsLetter.EmailHash = emailHash;
                newsLetter.JoinDate  = DateTime.Now;
                newsLetter.StoreID   = storeID;
                DataAccessContext.NewsLetterRepository.Create(newsLetter);
                uxMessage.DisplayMessage(Resources.NewsletterManager.RegisterSuccess);
                ClearField();
            }
            else
            {
                uxMessage.DisplayError(Resources.NewsletterManager.RegisterAlready);
            }
        }
        else
        {
            uxMessage.DisplayError(Resources.NewsletterManager.RegisterInvalidEmail);
        }
    }
Пример #2
0
    private void RegisterEmailUpdate(string email, string emailOld, string storeID, string storeIDOld)
    {
        bool isCorrectFormat = checkEmailFormat(email, storeID);

        if (isCorrectFormat)
        {
            string emailHash =
                SecurityUtilities.HashMD5(email + WebConfiguration.SecretKey);
            string emailOldHash =
                SecurityUtilities.HashMD5(emailOld + WebConfiguration.SecretKey);

            Store      store      = DataAccessContext.StoreRepository.GetOne(storeID);
            Store      storeOld   = DataAccessContext.StoreRepository.GetOne(storeIDOld);
            NewsLetter newsLetter = DataAccessContext.NewsLetterRepository.GetOne(email, store);
            if (newsLetter.IsNull)
            {
                NewsLetter newsLetterOld = DataAccessContext.NewsLetterRepository.GetOne(emailOld, storeOld);
                newsLetterOld.EmailHash = emailHash;
                DataAccessContext.NewsLetterRepository.Update(newsLetterOld, email, storeID);
            }
            else
            {
                uxMessage.DisplayError(Resources.NewsletterManager.RegisterAlready);
            }
        }
        else
        {
            uxMessage.DisplayError(Resources.NewsletterManager.RegisterInvalidEmail);
        }
    }
Пример #3
0
    private void RegisterEmail()
    {
        StoreRetriever storeRetriever = new StoreRetriever();
        Store          store          = storeRetriever.GetStore();

        if (Email == null | Email == string.Empty)
        {
            EmailDiv.Visible      = false;
            uxSubscribeLabel.Text = "[$RegisterEmpty]";
            return;
        }
        Regex emailregex = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
        Match m          = emailregex.Match(Email);

        if (m.Success)
        {
            string emailHash =
                SecurityUtilities.HashMD5(Email + WebConfiguration.SecretKey);

            NewsLetter newsLetter = DataAccessContext.NewsLetterRepository.GetOne(Email, store);
            if (newsLetter.IsNull)
            {
                newsLetter.Email     = Email;
                newsLetter.EmailHash = emailHash;
                newsLetter.JoinDate  = DateTime.Now;
                newsLetter.StoreID   = store.StoreID;
                DataAccessContext.NewsLetterRepository.Create(newsLetter);
                uxSubscribeLabel.Text           = "[$RegisterSuccess]";
                uxNewsletterSubScribeTR.Visible = false;
            }
            else
            {
                uxSubscribeLabel.Text = "[$RegisterAlready]";
            }
        }
        else
        {
            uxNewsletterSubScribeTR.Visible = true;
            uxSubscribeLabel.ForeColor      = System.Drawing.Color.Red;
            uxSubscribeLabel.Text           = "[$RegisterInvalidEmail]";
        }
        uxEmailLabel.Text = Email;
    }
Пример #4
0
    private void UpdateEmailSubscriber(string email, string emailOld)
    {
        StoreRetriever storeRetriever = new StoreRetriever();
        Store          store          = storeRetriever.GetStore();
        string         emailHash      = SecurityUtilities.HashMD5(email + WebConfiguration.SecretKey);

        if (uxSubscribeCheckBox.Checked)
        {
            NewsLetter newsLetterOld = DataAccessContext.NewsLetterRepository.GetOne(emailOld, store);
            NewsLetter newsLetter    = DataAccessContext.NewsLetterRepository.GetOne(email, store);

            if (newsLetterOld.IsNull)
            {
                if (newsLetter.IsNull)
                {
                    newsLetter.Email     = email;
                    newsLetter.EmailHash = emailHash;
                    newsLetter.JoinDate  = DateTime.Now;
                    newsLetter.StoreID   = store.StoreID;
                    DataAccessContext.NewsLetterRepository.Create(newsLetter);
                }
            }
            else
            {
                if (MoreThanOneUserSubscribeWithEmail(emailOld))
                {
                    // No need to delete old email
                    if (newsLetter.IsNull)
                    {
                        newsLetter.Email     = email;
                        newsLetter.EmailHash = emailHash;
                        newsLetter.JoinDate  = DateTime.Now;
                        newsLetter.StoreID   = store.StoreID;
                        DataAccessContext.NewsLetterRepository.Create(newsLetter);
                    }
                }
                else
                {
                    if (String.Compare(email, emailOld) != 0)
                    {
                        // No need to keep old email
                        if (newsLetter.IsNull)
                        {
                            newsLetterOld.EmailHash = emailHash;
                            DataAccessContext.NewsLetterRepository.Update(newsLetterOld, email, store.StoreID);
                        }
                        else
                        {
                            DataAccessContext.NewsLetterRepository.DeleteEmailNoHash(emailOld, store);
                        }
                    }
                }
            }
        }
        else
        {
            if (!MoreThanOneUserSubscribeWithEmail(email))
            {
                DataAccessContext.NewsLetterRepository.DeleteEmail(emailHash, store);
            }
        }
    }
Пример #5
0
    private void AddCustomer()
    {
        if (Page.IsValid)
        {
            StoreRetriever storeRetriever = new StoreRetriever();
            Store          store = storeRetriever.GetStore();
            bool           validateCountry, validateState, validateShippingCountry, validateShippingState;
            bool           validateBilling, validateShipping;
            validateBilling = uxCountryState.Validate(out validateCountry, out validateState);

            if (uxUseBillingAsShipping.Checked)
            {
                if (!validateBilling)
                {
                    uxBillingCountryStateDiv.Visible  = true;
                    uxBillingCountryStateMessage.Text = ValidateCountryAndState(validateCountry, validateState);
                    return;
                }
            }
            else
            {
                validateShipping = uxShippingCountryState.Validate(out validateShippingCountry, out validateShippingState);
                if (!validateBilling && !validateShipping)
                {
                    uxBillingCountryStateDiv.Visible   = true;
                    uxBillingCountryStateMessage.Text  = ValidateCountryAndState(validateCountry, validateState);
                    uxShippingCountryStateDiv.Visible  = true;
                    uxShippingCountryStateMessage.Text = ValidateCountryAndState(validateShippingCountry, validateShippingState);
                    return;
                }
                else if (!validateBilling)
                {
                    uxBillingCountryStateDiv.Visible  = true;
                    uxBillingCountryStateMessage.Text = ValidateCountryAndState(validateCountry, validateState);
                    return;
                }
                else if (!validateShipping)
                {
                    uxShippingCountryStateDiv.Visible  = true;
                    uxShippingCountryStateMessage.Text = ValidateCountryAndState(validateShippingCountry, validateShippingState);
                    return;
                }
            }

            MembershipUser user = Membership.GetUser(uxUserName.Text.Trim());
            if (user == null && !UsernameExits(uxUserName.Text.Trim()))
            {
                if (uxUseBillingAsShipping.Checked)
                {
                    CopyBillingDetailsToShipping();
                }

                if (uxSubscribeCheckBox.Checked)
                {
                    string Email     = uxEmail.Text.Trim();
                    string EmailHash =
                        SecurityUtilities.HashMD5(Email + WebConfiguration.SecretKey);
                    NewsLetter newsLetter = DataAccessContext.NewsLetterRepository.GetOne(Email, store);
                    if (newsLetter.IsNull)
                    {
                        newsLetter.Email     = Email;
                        newsLetter.EmailHash = EmailHash;
                        newsLetter.JoinDate  = DateTime.Now;
                        newsLetter.StoreID   = store.StoreID;
                        DataAccessContext.NewsLetterRepository.Create(newsLetter);
                    }
                }

                string id;

                Customer customer = SetUpCustomer();
                customer = DataAccessContext.CustomerRepository.Save(customer);
                id       = customer.CustomerID;

                Membership.CreateUser(uxUserName.Text.Trim(), uxPassword.Text, uxEmail.Text.Trim());
                Roles.AddUserToRole(uxUserName.Text, "Customers");

                if (IsCustomerAutoApprove)
                {
                    FormsAuthentication.SetAuthCookie(uxUserName.Text, false);
                }

                SetCartShippingAddress(customer);
                SetTaxExempt();
                try
                {
                    SendMailToCustomer(uxEmail.Text, uxUserName.Text);
                    SendMailToMerchant(uxEmail.Text, uxUserName.Text, id);
                    AffiliateHelper.UpdateAffiliateReference(uxUserName.Text);
                    RedirectPage();
                }
                catch (Exception)
                {
                    ErrorMessage = "[$SentErrorMessage]";
                    ClearData();
                }
            }
            else
            {
                ErrorMessage = "[$User Existed]";
            }
        }
    }