예제 #1
0
        public ActionResult NewsletterPromoted()
        {
            if (false)
            {
                return(Content(""));
            }
            var model = new NewsletterBoxModel();

            //model.Genders.Add(new SelectListItem() { Text = _localizationService.GetResource("Common.Dropdown.SelectValue"), Value = "" });
            model.Genders.Add(new SelectListItem()
            {
                Text = _localizationService.GetResource("Account.Fields.Gender.Female"), Value = "F"
            });
            model.Genders.Add(new SelectListItem()
            {
                Text = _localizationService.GetResource("Account.Fields.Gender.Male"), Value = "M"
            });

            model.AvailableCountries = new List <SelectListItem>();
            foreach (var c in _countryService.GetAllCountries())
            {
                model.AvailableCountries.Add(new SelectListItem()
                {
                    Text = c.Name, Value = c.Id.ToString()
                });
            }

            return(PartialView(model));
        }
예제 #2
0
        public ActionResult NewsletterPromoted(NewsletterBoxModel model)
        {
            string result;
            bool   success   = false;
            var    email     = model.Email;
            var    subscribe = model.Subscribe;

            if (!CommonHelper.IsValidEmail(email))
            {
                ModelState.AddModelError("", _localizationService.GetResource("Newsletter.Email.Wrong"));
                //model.Genders.Add(new SelectListItem() { Text = _localizationService.GetResource("Common.Dropdown.SelectValue"), Value = "" });
                model.Genders.Add(new SelectListItem()
                {
                    Text = _localizationService.GetResource("Account.Fields.Gender.Female"), Value = "F"
                });
                model.Genders.Add(new SelectListItem()
                {
                    Text = _localizationService.GetResource("Account.Fields.Gender.Male"), Value = "M"
                });

                model.AvailableCountries = new List <SelectListItem>();
                foreach (var c in _countryService.GetAllCountries())
                {
                    model.AvailableCountries.Add(new SelectListItem()
                    {
                        Text = c.Name, Value = c.Id.ToString()
                    });
                }

                return(View(model));
            }
            else
            {
                //subscribe/unsubscribe
                email = email.Trim();
                NewsLetterSubscription subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(email);
                if (subscription == null)
                {
                    subscription = new NewsLetterSubscription();
                    subscription.CreatedOnUtc = DateTime.UtcNow;
                    subscription.Email        = email;
                }

                subscription.NewsLetterSubscriptionGuid = Guid.NewGuid();
                subscription.FirstName        = model.FirstName;
                subscription.LastName         = model.LastName;
                subscription.Gender           = model.Gender;
                subscription.Active           = false;
                subscription.LanguageId       = _workContext.WorkingLanguage.Id;
                subscription.CountryId        = model.CountryId.HasValue ? model.CountryId.Value : 0;
                subscription.RegistrationType = "promoted5";

                _newsLetterSubscriptionService.InsertNewsLetterSubscription(subscription);
                _workflowMessageService.SendNewsLetterSubscriptionActivationMessage(subscription, subscription.RegistrationType, _workContext.WorkingLanguage.Id);
                ViewBag.Success = true;
                return(View());
            }
        }
예제 #3
0
        /// <summary>
        /// Prepare the newsletter box model
        /// </summary>
        /// <returns>Newsletter box model</returns>
        public virtual NewsletterBoxModel PrepareNewsletterBoxModel()
        {
            var model = new NewsletterBoxModel()
            {
                AllowToUnsubscribe = _customerSettings.NewsletterBlockAllowToUnsubscribe
            };

            return(model);
        }
예제 #4
0
        /// <summary>
        /// Prepare the newsletter box model
        /// </summary>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the newsletter box model
        /// </returns>
        public virtual Task <NewsletterBoxModel> PrepareNewsletterBoxModelAsync()
        {
            var model = new NewsletterBoxModel
            {
                AllowToUnsubscribe = _customerSettings.NewsletterBlockAllowToUnsubscribe
            };

            return(Task.FromResult(model));
        }
        public virtual async Task <NewsletterBoxModel> PrepareNewsletterBox()
        {
            if (_customerSettings.HideNewsletterBlock)
            {
                return(null);
            }

            var model = new NewsletterBoxModel()
            {
                AllowToUnsubscribe = _customerSettings.NewsletterBlockAllowToUnsubscribe
            };

            return(await Task.FromResult(model));
        }
예제 #6
0
        public ActionResult NewsletterBox()
        {
            if (_customerSettings.HideNewsletterBlock)
            {
                return(Content(""));
            }

            var model = new NewsletterBoxModel()
            {
                AllowToUnsubscribe = _customerSettings.NewsletterBlockAllowToUnsubscribe
            };

            return(PartialView(model));
        }
예제 #7
0
        public ActionResult NewsletterBox()
        {
            if (_customerSettings.HideNewsletterBlock)
            {
                return(Content(""));
            }
            var model = new NewsletterBoxModel();

            //model.Genders.Add(new SelectListItem() { Text = _localizationService.GetResource("Common.Dropdown.SelectValue"), Value = "" });
            model.Genders.Add(new SelectListItem()
            {
                Text = _localizationService.GetResource("Account.Fields.Gender.Female"), Value = "F"
            });
            model.Genders.Add(new SelectListItem()
            {
                Text = _localizationService.GetResource("Account.Fields.Gender.Male"), Value = "M"
            });

            return(PartialView(model));
        }
예제 #8
0
        public JsonResult SubscribeNewsletter(NewsletterBoxModel model)
        {
            string result;
            bool   success   = false;
            var    email     = model.Email;
            var    subscribe = model.Subscribe;

            if (!CommonHelper.IsValidEmail(email))
            {
                result = _localizationService.GetResource("Newsletter.Email.Wrong");
            }
            else
            {
                //subscribe/unsubscribe
                email = email.Trim();

                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(email);
                if (subscription != null)
                {
                    if (subscribe)
                    {
                        if (!subscription.Active)
                        {
                            _workflowMessageService.SendNewsLetterSubscriptionActivationMessage(subscription, _workContext.WorkingCurrency.Id);
                        }
                        result = _localizationService.GetResource("Newsletter.SubscribeEmailSent");
                    }
                    else
                    {
                        if (subscription.Active)
                        {
                            _workflowMessageService.SendNewsLetterSubscriptionDeactivationMessage(subscription, _workContext.WorkingLanguage.Id);
                        }
                        result = _localizationService.GetResource("Newsletter.UnsubscribeEmailSent");
                    }
                }
                else if (subscribe)
                {
                    subscription = new NewsLetterSubscription()
                    {
                        NewsLetterSubscriptionGuid = Guid.NewGuid(),
                        Email        = email,
                        FirstName    = model.FirstName,
                        LastName     = model.LastName,
                        Gender       = model.Gender,
                        Active       = true,
                        CreatedOnUtc = DateTime.UtcNow,
                        LanguageId   = _workContext.WorkingLanguage.Id
                    };
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(subscription);
                    //_workflowMessageService.SendNewsLetterSubscriptionActivationMessage(subscription, _workContext.WorkingLanguage.Id);

                    //result = _localizationService.GetResource("Newsletter.SubscribeEmailSent");
                }
                else
                {
                    //result = _localizationService.GetResource("Newsletter.UnsubscribeEmailSent");
                }
                success = true;
            }

            return(Json(new
            {
                Success = success
            }));
        }
예제 #9
0
        public ActionResult CampaignFriendsConvoke(NewsletterBoxModel model)  // Davet edilen maillerin kaydı
        {
            string Id = RouteData.Values["id"].ToString();

            if (Id == null)
            {
                RedirectToAction("Index");
            }

            var referermodel = _newsLetterSubscriptionService.GetNewsLetterSubscriptionById(int.Parse(Id));

            if (model.Email1 != null)
            {
                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.Email1);
                if (subscription == null)
                {
                    NewsLetterSubscription newsletterModel = new NewsLetterSubscription();
                    newsletterModel.Email                      = model.Email1;
                    newsletterModel.CreatedOnUtc               = DateTime.Now;
                    newsletterModel.RegistrationType           = "Campaign";
                    newsletterModel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    if (referermodel != null)
                    {
                        newsletterModel.RefererEmail = referermodel.Email;
                    }
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(newsletterModel);
                    _workflowMessageService.SendCampaignConvoke(newsletterModel, _workContext.WorkingLanguage.Id);
                }
            }

            if (model.Email2 != null)
            {
                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.Email2);
                if (subscription == null)
                {
                    NewsLetterSubscription newsletterModel = new NewsLetterSubscription();
                    newsletterModel.Email                      = model.Email2;
                    newsletterModel.CreatedOnUtc               = DateTime.Now;
                    newsletterModel.RegistrationType           = "Campaign";
                    newsletterModel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    if (referermodel != null)
                    {
                        newsletterModel.RefererEmail = referermodel.Email;
                    }
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(newsletterModel);
                    _workflowMessageService.SendCampaignConvoke(newsletterModel, _workContext.WorkingLanguage.Id);
                }
            }

            if (model.Email3 != null)
            {
                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.Email3);
                if (subscription == null)
                {
                    NewsLetterSubscription newsletterModel = new NewsLetterSubscription();
                    newsletterModel.Email                      = model.Email3;
                    newsletterModel.CreatedOnUtc               = DateTime.Now;
                    newsletterModel.RegistrationType           = "Campaign";
                    newsletterModel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    if (referermodel != null)
                    {
                        newsletterModel.RefererEmail = referermodel.Email;
                    }
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(newsletterModel);
                    _workflowMessageService.SendCampaignConvoke(newsletterModel, _workContext.WorkingLanguage.Id);
                }
            }

            if (model.Email4 != null)
            {
                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.Email4);
                if (subscription == null)
                {
                    NewsLetterSubscription newsletterModel = new NewsLetterSubscription();
                    newsletterModel.Email                      = model.Email4;
                    newsletterModel.CreatedOnUtc               = DateTime.Now;
                    newsletterModel.RegistrationType           = "Campaign";
                    newsletterModel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    if (referermodel != null)
                    {
                        newsletterModel.RefererEmail = referermodel.Email;
                    }
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(newsletterModel);
                    _workflowMessageService.SendCampaignConvoke(newsletterModel, _workContext.WorkingLanguage.Id);
                }
            }

            if (model.Email5 != null)
            {
                var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.Email5);
                if (subscription == null)
                {
                    NewsLetterSubscription newsletterModel = new NewsLetterSubscription();
                    newsletterModel.Email                      = model.Email5;
                    newsletterModel.CreatedOnUtc               = DateTime.Now;
                    newsletterModel.RegistrationType           = "Campaign";
                    newsletterModel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    if (referermodel != null)
                    {
                        newsletterModel.RefererEmail = referermodel.Email;
                    }
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(newsletterModel);
                    _workflowMessageService.SendCampaignConvoke(newsletterModel, _workContext.WorkingLanguage.Id);
                }
            }

            return(RedirectToRoute("CampaignRecordSuccessFul"));      //("CampaignRecordSuccessFul","Home");
        }
예제 #10
0
        public ActionResult CampaignRegister(NewsletterBoxModel model)
        {
            var subscription = _newsLetterSubscriptionService.GetNewsLetterSubscriptionByEmail(model.CampaignMail);

            if (model.CampaignMail != null)
            {
                if (subscription == null)
                {
                    NewsLetterSubscription subscriptionmodel = new NewsLetterSubscription();                // İlk üyelik için. tüm alanlar doldurulur.
                    subscriptionmodel.Active                     = false;
                    subscriptionmodel.CountryId                  = model.CountryId;
                    subscriptionmodel.CreatedOnUtc               = DateTime.Now;
                    subscriptionmodel.Email                      = model.CampaignMail;
                    subscriptionmodel.FirstName                  = model.FirstName;
                    subscriptionmodel.LastName                   = model.LastName;
                    subscriptionmodel.Gender                     = model.Gender;
                    subscriptionmodel.LanguageId                 = _workContext.WorkingLanguage.Id;
                    subscriptionmodel.RegistrationType           = "Campaign";
                    subscriptionmodel.NewsLetterSubscriptionGuid = Guid.NewGuid();
                    _newsLetterSubscriptionService.InsertNewsLetterSubscription(subscriptionmodel);
                    _workflowMessageService.SendCampaignRegisterActivationMessage(subscriptionmodel, _workContext.WorkingLanguage.Id);
                    return(RedirectToAction("CampaignFriendsConvoke", new { id = subscriptionmodel.Id }));
                }

                else if (subscription != null && subscription.RegistrationType != "Campaign")       // Önceden newsletterdaki kayıtlar için
                {
                    subscription.Active           = true;
                    subscription.Gender           = model.Gender;
                    subscription.CountryId        = model.CountryId;
                    subscription.FirstName        = model.FirstName;
                    subscription.LastName         = model.LastName;
                    subscription.RegistrationType = "Campaign";
                    subscription.LanguageId       = _workContext.WorkingLanguage.Id;
                    _newsLetterSubscriptionService.UpdateNewsLetterSubscription(subscription);
                    //_workflowMessageService.SendCampaignRegisterActivationMessage(subscription, _workContext.WorkingLanguage.Id);
                    return(RedirectToAction("CampaignFriendsConvoke", new { id = subscription.Id }));
                }

                else        // Davetiye maili ile gelenler için
                {
                    subscription.Email            = model.CampaignMail;
                    subscription.Active           = false;
                    subscription.CountryId        = model.CountryId;
                    subscription.LanguageId       = _workContext.WorkingLanguage.Id;
                    subscription.Gender           = model.Gender;
                    subscription.FirstName        = model.FirstName;
                    subscription.LastName         = model.LastName;
                    subscription.RegistrationType = "Campaign";
                    _newsLetterSubscriptionService.UpdateNewsLetterSubscription(subscription);
                    _workflowMessageService.SendCampaignRegisterActivationMessage(subscription, _workContext.WorkingLanguage.Id);
                    return(RedirectToAction("CampaignFriendsConvoke", new { id = subscription.Id }));
                }
            }
            if (subscription != null)
            {
                return(RedirectToRoute("CampaingRegisterConvoke", new { id = subscription.Id }));
            }
            else
            {
                return(RedirectToRoute("HomePage"));
            }
        }  // İlk kayıt ekranı