Exemplo n.º 1
0
        private void loadSubscriber(Dictionary <string, string> FormParameters)
        {
            string subscriberId = Guid.Empty.ToString();

            if (FormParameters != null && FormParameters.ContainsKey("hiddenSubscriberID"))
            {
                subscriberId = FormParameters["hiddenSubscriberID"];
            }
            else
            {
                //laden uit querystring
                if (HttpContext.Current.Request.QueryString["subscriber"] != null)
                {
                    subscriberId = HttpContext.Current.Request.QueryString["subscriber"];
                    //??? er staat komma is en bevat waarde twee keer
                    if (subscriberId.Contains(","))
                    {
                        subscriberId = subscriberId.Split(new char[] { ',' })[0];
                    }
                }
            }
            loadedSubscriber = BaseObject.GetById <NewsletterSubscriber>(new Guid(subscriberId));
            if (loadedSubscriber == null)
            {
                loadedSubscriber = new NewsletterSubscriber();
            }
        }
Exemplo n.º 2
0
        private string SaveSubscriber(Dictionary <string, string> FormParameters, NewsletterSubscriber subscriber)
        {
            if (subscriber.IsNew)
            {
                return("Geen geldige abonnee geladen");
            }
            subscriber.Name        = FormParameters.ContainsKey("textboxName") ? FormParameters["textboxName"] : "";
            subscriber.NamePrefix  = FormParameters.ContainsKey("textboxNamePrefix") ? FormParameters["textboxNamePrefix"] : "";
            subscriber.ForeName    = FormParameters.ContainsKey("textboxForeName") ? FormParameters["textboxForeName"] : "";
            subscriber.CompanyName = FormParameters.ContainsKey("textboxCompany") ? FormParameters["textboxCompany"] : "";
            subscriber.Gender      = FormParameters.ContainsKey("radioGender") ? (BitPlate.Domain.Autorisation.BaseUser.SexeEnum)Convert.ToInt32(FormParameters["radioGender"]) : Autorisation.BaseUser.SexeEnum.Undefined;
            subscriber.SubscribedGroups.Clear();
            //subscriber.Save();

            //groepen toevoegen
            BaseCollection <NewsletterGroup> requiredNewsletterGroups = BaseCollection <NewsletterGroup> .Get("FK_Site = '" + Site.ID.ToString() + "' AND IsMandatoryGroup=1");

            foreach (NewsletterGroup group in requiredNewsletterGroups)
            {
                subscriber.SubscribedGroups.Add(group);
            }

            foreach (string key in FormParameters.Keys)
            {
                if (key.StartsWith("checkboxNewsletterGroup"))
                {
                    Guid ID;
                    Guid.TryParse(key.Replace("checkboxNewsletterGroup", ""), out ID);
                    NewsletterGroup group = BaseObject.GetById <NewsletterGroup>(ID);
                    subscriber.SubscribedGroups.Add(group);
                }
            }
            subscriber.Save();
            return("");
        }
Exemplo n.º 3
0
        private string ReplaceVerificationEmailTags(string content, NewsletterSubscriber subscriber)
        {
            string newsgroups = "";

            foreach (NewsletterGroup group in subscriber.SubscribedGroups.Where(c => c.IsMandatoryGroup == false))
            {
                newsgroups += group.Name + ", ";
            }
            if (newsgroups != "")
            {
                newsgroups = newsgroups.Substring(0, newsgroups.Length - 2);
            }

            string optinUrl = Site.DomainName + "/?ErrorMsg=geen opt-in ingesteld. Raadpleeg de site-admin: " + Site.NewsletterSender;

            if (Site.NewsletterOptInEmailPage != null)
            {
                optinUrl = Site.DomainName + "/" + Site.NewsletterOptInEmailPage.RelativeUrl + "?subscriber=" + subscriber.ID.ToString();
            }
            content = content.Replace("[OPTINURL]", optinUrl)
                      .Replace("[NAME]", subscriber.Name)
                      .Replace("[FORENAME]", subscriber.ForeName)
                      .Replace("[NAMEPREFIX]", subscriber.ForeName)
                      .Replace("[USERCODE]", subscriber.ID.ToString())
                      .Replace("[NEWSGROUPS]", newsgroups)
                      .Replace("[OPTINLINK]", "<a href=\"" + optinUrl + "\">").Replace("[/OPTINLINK]", "</a>");
            return(content);
        }
Exemplo n.º 4
0
        public void SendNewsletterToSubscriber(Guid newsletterId, NewsletterSubscriber obj)
        {
            Newsletter newsletter = BaseObject.GetById <Newsletter>(newsletterId);

            newsletter.Send(obj);
            Thread.Sleep(1000); //Wacht een seconde.
        }
Exemplo n.º 5
0
        protected string createNewsGroupCheckboxList(NewsletterSubscriber subscriber = null)
        {
            if (subscriber == null)
            {
                subscriber = new NewsletterSubscriber();
            }
            string html = "";
            BaseCollection <NewsletterGroup> newsletterGroups = BaseCollection <NewsletterGroup> .Get("FK_Site = '" + Site.ID.ToString() + "'");

            bool showCheckboxList = true;

            if (Settings.ContainsKey("Newsgroup")) //unsubscribemodule bevat deze setting niet, dan altijd tonen
            {
                showCheckboxList = getSetting <string>("Newsgroup") == "choose";
            }
            if (showCheckboxList)
            {
                foreach (NewsletterGroup group in newsletterGroups)
                {
                    if (group.IsChoosableGroup)
                    {
                        bool ischecked = subscriber.HasGroup(group);
                        if (ischecked)
                        {
                            html += String.Format("<input type=\"checkbox\" id=\"checkboxNewsletterGroup{0}\" name=\"checkboxNewsletterGroup{0}\" checked=\"on\"/> <label for=\"checkboxNewsletterGroup{0}\">{1}</label><br />", group.ID, group.Name);
                        }
                        else
                        {
                            html += String.Format("<input type=\"checkbox\" id=\"checkboxNewsletterGroup{0}\" name=\"checkboxNewsletterGroup{0}\"/> <label for=\"checkboxNewsletterGroup{0}\">{1}</label><br />", group.ID, group.Name);
                        }
                    }
                }
            }
            return(html);
        }
Exemplo n.º 6
0
        public Message AddOrEdit(NewsletterSubscriber newsletterSubscriber)
        {
            var message = new Message();
            var ID      = newsletterSubscriber.NewsletterSubscriberId;
            int result  = _iNewsletterSubscriberRepository.AddOrEdit(newsletterSubscriber);

            try
            {
                if (result > 0)
                {
                    if (Convert.ToInt32(ID) > 0)
                    {
                        message = Message.SetMessages.SetSuccessMessage("Submission Updated Successfully!");
                    }
                    else
                    {
                        message = Message.SetMessages.SetSuccessMessage("Submission Successful!");
                    }
                }
                else
                {
                    message = Message.SetMessages.SetErrorMessage("Could not be submitted!");
                }
            }
            catch (Exception e)
            {
                message = Message.SetMessages.SetWarningMessage(e.Message.ToString());
            }

            return(message);
        }
Exemplo n.º 7
0
        //private string[] CreateSubscriber(string[] data, NewsletterImportDefinition obj, int[] importProgress)//BaseCollection<NewsletterGroup> newsGroups
        //{
        //    string[] log = new string[6];

        //    BaseCollection<NewsletterSubscriber> subscribers = BaseCollection<NewsletterSubscriber>.Get("FK_Site = '" + SessionObject.CurrentSite.ID.ToString() + "' AND Email = '" + data[obj.EmailColumnNo].Trim() + "'");
        //    NewsletterSubscriber subscriber;

        //    var existingSubscriber = subscribers.Where(b => b.Email == data[obj.EmailColumnNo]).FirstOrDefault();//Where(b => b.Name == data[obj.NameColumnNo]).FirstOrDefault();

        //    if (existingSubscriber == null)
        //    {
        //        if (EmailManager.isValidEmailAddress(data[obj.EmailColumnNo].Trim()))
        //        {
        //            if (isValidDataLength(obj, data) == true)
        //            {
        //                subscriber = new NewsletterSubscriber();
        //                subscriber.Site = SessionObject.CurrentSite;
        //                subscriber.Email = data[obj.EmailColumnNo].Trim();
        //                subscriber.Confirmed = (obj.AutoConfirm);
        //                if (obj.ForeNameColumn != "" && obj.ForeNameColumnNo != 9999) subscriber.ForeName = data[obj.ForeNameColumnNo];
        //                if (obj.NameColumn != "" && obj.NameColumnNo != 9999) subscriber.Name = data[obj.NameColumnNo];
        //                if (obj.NamePrefixColumn != "" && obj.NamePrefixColumnNo != 9999) subscriber.NamePrefix = data[obj.NamePrefixColumnNo];
        //                //subscriber.Gender = data[obj.GenderCoumnNo] // ERROR: cannot convert string/int > sexeEnum
        //                subscriber.SubscribedGroups.AddRange(obj.Groups);
        //                subscriber.Save();

        //                log[0] = importProgress[0].ToString();

        //                if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //                log[2] = data[obj.EmailColumnNo];
        //                log[3] = "Geimporteerd";
        //                log[4] = importProgress[1].ToString();
        //                log[5] = true.ToString();
        //            }
        //            else
        //            {
        //                string tooLong = "Het ";

        //                if (obj.EmailColumnNo != 9999)
        //                {
        //                    if (data[obj.EmailColumnNo].ToString().Length > 50)
        //                    {
        //                        tooLong += "email adres, ";
        //                    }
        //                }
        //                if (obj.NameColumnNo != 9999)
        //                {
        //                    if (data[obj.NameColumnNo].ToString().Length > 150)
        //                    {
        //                        tooLong += "achternaam, ";
        //                    }
        //                }
        //                if (obj.ForeNameColumnNo != 9999)
        //                {
        //                    if (data[obj.ForeNameColumnNo].ToString().Length > 250)
        //                    {
        //                        tooLong += "voornaam, ";
        //                    }
        //                }
        //                if (obj.NamePrefixColumnNo != 9999)
        //                {
        //                    if (data[obj.NamePrefixColumnNo].ToString().Length > 25)
        //                    {
        //                        tooLong += "tussenvoegsel, ";
        //                    }
        //                }
        //                log[0] = importProgress[0].ToString();
        //                if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //                log[2] = data[obj.EmailColumnNo];
        //                log[3] = tooLong += "is te lang";
        //                log[4] = importProgress[1].ToString();
        //                log[5] = false.ToString();
        //            }
        //        }
        //        else
        //        {
        //            log[0] = importProgress[0].ToString();
        //            if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //            log[2] = data[obj.EmailColumnNo];
        //            log[3] = "Geen geldig email adres";
        //            log[4] = importProgress[1].ToString();
        //            log[5] = false.ToString();
        //        }
        //    }
        //    else if (existingSubscriber != null && obj.SkipDoubleRecords == false)
        //    {
        //        if (EmailManager.isValidEmailAddress(data[obj.EmailColumnNo].Trim()) && isValidDataLength(obj, data) == true)
        //        {
        //            if (obj.AppendGroups == true)
        //            {
        //                for (int i = 0; i < existingSubscriber.SubscribedGroups.Count(); i++)
        //                {
        //                    for (int j = 0; j < obj.Groups.Count(); j++)
        //                    {
        //                        if (obj.Groups[j].ID == existingSubscriber.SubscribedGroups[i].ID)
        //                        {
        //                            obj.Groups.RemoveAt(j);
        //                            break;

        //                        }
        //                    }
        //                }
        //            }

        //            /* subscriber = new NewsletterSubscriber();
        //               subscriber.Site = SessionObject.CurrentSite;
        //               subscriber.Email = data[obj.EmailColumnNo].Trim();
        //               subscriber.Confirmed = (obj.AutoConfirm);
        //               subscriber.ForeName = data[obj.ForeNameColumnNo];
        //               subscriber.Name = data[obj.NameColumnNo];
        //               subscriber.NamePrefix = data[obj.NamePrefixColumnNo];
        //               //subscriber.Gender = data[obj.GenderColumnNo]; // ERROR: cannot convert string/int > sexeEnum
        //               subscriber.SubscribedGroups.AddRange(obj.Groups);
        //               subscriber.Save();*/

        //            existingSubscriber.Site = SessionObject.CurrentSite;
        //            existingSubscriber.Confirmed = (obj.AutoConfirm);

        //            if (obj.ForeNameColumn != "" && obj.ForeNameColumnNo != 9999)
        //            {
        //                existingSubscriber.ForeName = data[obj.ForeNameColumnNo];
        //            }
        //            else { existingSubscriber.ForeName = ""; }

        //            if (obj.NameColumn != "" && obj.NameColumnNo != 9999)
        //            {
        //                existingSubscriber.Name = data[obj.NameColumnNo];
        //            }
        //            else { existingSubscriber.Name = ""; }

        //            if (obj.NamePrefixColumn != "" && obj.NamePrefixColumnNo != 9999)
        //            {
        //                existingSubscriber.NamePrefix = data[obj.NamePrefixColumnNo];
        //            }
        //            else { existingSubscriber.NamePrefix = ""; }

        //            if (obj.AppendGroups == false) existingSubscriber.SubscribedGroups.Clear();

        //            if (existingSubscriber.SubscribedGroups != obj.Groups)
        //                existingSubscriber.SubscribedGroups.AddRange(obj.Groups);

        //            existingSubscriber.Save();

        //            log[0] = importProgress[0].ToString();
        //            if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //            log[2] = data[obj.EmailColumnNo];
        //            log[3] = "Abonnee bestaat al. overschreven";
        //            log[4] = importProgress[1].ToString();
        //            log[5] = true.ToString();
        //        }
        //        else if (isValidDataLength(obj, data) == false)
        //        {
        //            string tooLong = "Het ";

        //            if (obj.EmailColumnNo != 9999)
        //            {
        //                if (data[obj.EmailColumnNo].ToString().Length > 50)
        //                {
        //                    tooLong += "email adres, ";
        //                }
        //            }
        //            if (obj.NameColumnNo != 9999)
        //            {
        //                if (data[obj.NameColumnNo].ToString().Length > 150)
        //                {
        //                    tooLong += "achternaam, ";
        //                }
        //            }
        //            if (obj.ForeNameColumnNo != 9999)
        //            {
        //                if (data[obj.ForeNameColumnNo].ToString().Length > 250)
        //                {
        //                    tooLong += "voornaam, ";
        //                }
        //            }
        //            if (obj.NamePrefixColumnNo != 9999)
        //            {
        //                if (data[obj.NamePrefixColumnNo].ToString().Length > 25)
        //                {
        //                    tooLong += "tussenvoegsel, ";
        //                }
        //            }
        //            log[0] = importProgress[0].ToString();
        //            if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //            log[2] = data[obj.EmailColumnNo];
        //            log[3] = tooLong += "is te lang";
        //            log[4] = importProgress[1].ToString();
        //            log[5] = false.ToString();
        //        }
        //        else
        //        {
        //            log[0] = importProgress[0].ToString();
        //            if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //            log[2] = data[obj.EmailColumnNo];
        //            log[3] = "Geen geldig email adres";
        //            log[4] = importProgress[1].ToString();
        //            log[5] = false.ToString();
        //        }
        //    }
        //    else
        //    {
        //        log[0] = importProgress[0].ToString();
        //        if (obj.NameColumnNo != 9999) log[1] = data[obj.NameColumnNo];
        //        log[2] = data[obj.EmailColumnNo];
        //        log[3] = "Dubbele abonnee is overgeslagen";
        //        log[4] = importProgress[1].ToString();
        //        log[5] = true.ToString();
        //    }
        //    return log;

        //}

        public void SendVerificationEmail(NewsletterSubscriber subscriber)
        {
            CmsSite site    = SessionObject.CurrentSite;
            string  content = ReplaceVerificationEmailTags(site.NewsletterOptInEmailContent, subscriber);

            //content = content.Replace("[OPTINURL]", site.DomainName + "/" + site.NewsletterOptInEmailPage.LastPublishedUrl + "?subsciber=" + subscriber.ID.ToString());
            EmailManager.SendMail(site.NewsletterSender, subscriber.Email, site.NewsletterOptInEmailSubject, content, true);
        }
        private void SendVerificationEmail(NewsletterSubscriber subscriber)
        {
            CmsSite site    = SessionObject.CurrentSite;
            string  content = site.NewsletterOptInEmailContent;

            content = content.Replace("[verificatielink]", "<a href=\"" + site.DomainName + "/" + site.NewsletterOptInEmailPage.LastPublishedUrl + "?svid=" + subscriber.ID.ToString() + "\" >").Replace("[/verificatielink]", "</a>");
            EmailManager.SendMail(site.NewsletterSender, subscriber.Email, site.NewsletterOptInEmailSubject, content, true);
        }
Exemplo n.º 9
0
        public NewsletterSubscriberDTO Create(NewsletterSubscriberDTO dto)
        {
            var newNewsletterSubscriber = new NewsletterSubscriber(dto.Name, dto.Email);

            Context.Add(newNewsletterSubscriber);
            Context.SaveChanges();

            return(new NewsletterSubscriberDTO().FromEntity(newNewsletterSubscriber));
        }
Exemplo n.º 10
0
        public async Task <IActionResult> Remove_POST(int id)
        {
            NewsletterSubscriber subscriber = await _dbContext.NewsletterSubscribers.FindAsync(id);

            _dbContext.NewsletterSubscribers.Remove(subscriber);
            await _dbContext.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult AddOrEdit(int id = 0)
        {
            NewsletterSubscriber newsletterSubscriber = new NewsletterSubscriber();

            if (id != 0)
            {
                newsletterSubscriber = _iNewsletterSubscriberManager.GetANewsletterSubscriber(id);
            }
            return(View(newsletterSubscriber));
        }
Exemplo n.º 12
0
 private string UnsubscribeSubscriber(NewsletterSubscriber subscriber)
 {
     if (subscriber.IsNew)
     {
         return("Geen geldige abonnee geladen");
     }
     //subscriber.UnsubscribeDate = DateTime.Now;
     //subscriber.Save();
     subscriber.Delete();
     return("");
 }
Exemplo n.º 13
0
        protected NewsletterSubscriber ResendEmail(Dictionary <string, string> FormParameters)
        {
            string subscriberId = FormParameters["hiddenSubscriberID"];

            NewsletterSubscriber subscriber = BaseObject.GetById <NewsletterSubscriber>(new Guid(subscriberId));

            if (getSetting <bool>("SendVerifiationEmail"))
            {
                SendVerificationEmail(subscriber);
            }
            return(subscriber);
        }
Exemplo n.º 14
0
        public JsonResult DeleteSubscriber(Guid id)
        {
            bool result = false;

            if (id != null)
            {
                NewsletterSubscriber subscriber = BaseObject.GetById <NewsletterSubscriber>(id);
                subscriber.Delete();
                result = true;
            }
            return(JsonResult.CreateResult(result));
        }
Exemplo n.º 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            base.Load(sender, e);
            if (base.CheckAutorisation())
            {
                if (Request.QueryString.AllKeys.Contains("subscriber"))
                {
                    Guid ID;
                    Guid.TryParse(Request.QueryString["subscriber"].ToString(), out ID);
                    if (ID != Guid.Empty)
                    {
                        this.Subscriber = BaseObject.GetById <NewsletterSubscriber>(ID);
                        if (this.Subscriber == null)
                        {
                            this.LabelMsg.Text = "Parameter subscriber wordt niet herkend.";
                        }
                    }
                }
                else
                {
                    this.LabelMsg.Text = "Parameter subscriber ontbreekt.";
                }

                this.LoadSettings();
                this.LoadControls();

                if (this.PanelSubscriberFrom != null)
                {
                    this.PanelSubscriberFrom.Visible = false;
                }
                if (this.PanelEndSubscriptionConfirmationDialog != null)
                {
                    this.PanelEndSubscriptionConfirmationDialog.Visible = false;
                }
                if (this.PanelSubscriptionDeleted != null)
                {
                    this.PanelSubscriptionDeleted.Visible = false;
                }
                if (this.PanelSubscriptionChangeSaved != null)
                {
                    this.PanelSubscriptionChangeSaved.Visible = false;
                }

                if (this.Subscriber != null)
                {
                    if (this.PanelSubscriberFrom != null)
                    {
                        this.PanelSubscriberFrom.Visible = true;
                    }
                }
            }
        }
Exemplo n.º 16
0
        // GET: /Admin/Newsletter/Remove/{id}
        public async Task <IActionResult> Remove(int id)
        {
            NewsletterSubscriber subscriber = await _dbContext.NewsletterSubscribers.FirstOrDefaultAsync(s => s.Id == id);

            if (subscriber == null)
            {
                return(NotFound());
            }
            else
            {
                return(View(subscriber));
            }
        }
Exemplo n.º 17
0
        private NewsletterSubscriber InsertSubscriber(Dictionary <string, string> FormParameters)
        {
            NewsletterSubscriber subscriber = new NewsletterSubscriber();
            string email = FormParameters["textboxEmail"].Trim();
            BaseCollection <NewsletterSubscriber> subscribers = BaseCollection <NewsletterSubscriber> .Get("Name = '" + email + "'");

            if (subscribers.Count > 0)
            {
                errorMsg = "Dit emailadres is al geabonneerd.";
            }
            else
            {
                subscriber.Email            = email;
                subscriber.RegistrationType = RegistrationTypeEnum.Website;
                subscriber.Name             = FormParameters.ContainsKey("textboxName") ? FormParameters["textboxName"] : "";
                subscriber.NamePrefix       = FormParameters.ContainsKey("textboxNamePrefix") ? FormParameters["textboxNamePrefix"] : "";
                subscriber.ForeName         = FormParameters.ContainsKey("textboxForeName") ? FormParameters["textboxForeName"] : "";
                subscriber.CompanyName      = FormParameters.ContainsKey("textboxCompany") ? FormParameters["textboxCompany"] : "";
                subscriber.Gender           = FormParameters.ContainsKey("radioGender") ? (BitPlate.Domain.Autorisation.BaseUser.SexeEnum)Convert.ToInt32(FormParameters["radioGender"]) : Autorisation.BaseUser.SexeEnum.Undefined;

                subscriber.Save();

                //groepen toevoegen
                BaseCollection <NewsletterGroup> requiredNewsletterGroups = BaseCollection <NewsletterGroup> .Get("FK_Site = '" + Site.ID.ToString() + "' AND IsMandatoryGroup=1");

                foreach (NewsletterGroup group in requiredNewsletterGroups)
                {
                    subscriber.SubscribedGroups.Add(group);
                }

                foreach (string key in FormParameters.Keys)
                {
                    if (key.StartsWith("checkboxNewsletterGroup"))
                    {
                        Guid ID;
                        Guid.TryParse(key.Replace("checkboxNewsletterGroup", ""), out ID);
                        NewsletterGroup group = BaseObject.GetById <NewsletterGroup>(ID);
                        subscriber.SubscribedGroups.Add(group);
                    }
                }
                subscriber.Save();


                if (getSetting <bool>("SendVerifiationEmail"))
                {
                    SendVerificationEmail(subscriber);
                }
            }
            return(subscriber);
        }
Exemplo n.º 18
0
        private string insertSubscriber(string email, Dictionary <string, string> FormParameters)
        {
            string errorMsg = "";
            BaseCollection <NewsletterSubscriber> subscribers = BaseCollection <NewsletterSubscriber> .Get("Name = '" + email + "'");

            if (subscribers.Count > 0)
            {
                errorMsg = "Dit emailadres is al geabonneerd.";
            }
            else
            {
                NewsletterSubscriber subscriber = new NewsletterSubscriber();
                subscriber.Email       = email;
                subscriber.Name        = FormParameters.ContainsKey("Naam") ? FormParameters["Naam"] : "";
                subscriber.NamePrefix  = FormParameters.ContainsKey("Tussenvoegsels") ? FormParameters["Tussenvoegsels"] : "";
                subscriber.ForeName    = FormParameters.ContainsKey("Voornaam") ? FormParameters["Voornaam"] : "";
                subscriber.CompanyName = FormParameters.ContainsKey("Bedrijf") ? FormParameters["Bedrijf"] : "";
                subscriber.Gender      = FormParameters.ContainsKey("Geslacht") ? (BitPlate.Domain.Autorisation.BaseUser.SexeEnum)Convert.ToInt32(FormParameters["Geslacht"]) : Autorisation.BaseUser.SexeEnum.Undefined;
                subscriber.Confirmed   = true; //Mag direct worden goedgekeurd.


                //verplichte groepen toevoegen
                BaseCollection <NewsletterGroup> requiredNewsletterGroups = BaseCollection <NewsletterGroup> .Get("FK_Site = '" + Site.ID.ToString() + "' AND IsMandatoryGroup=1");

                foreach (NewsletterGroup group in requiredNewsletterGroups)
                {
                    subscriber.SubscribedGroups.Add(group);
                }

                foreach (string key in FormParameters.Keys)
                {
                    if (key.StartsWith("checkboxNewsletterGroup"))
                    {
                        Guid ID;
                        Guid.TryParse(key.Replace("checkboxNewsletterGroup", ""), out ID);
                        NewsletterGroup group = BaseObject.GetById <NewsletterGroup>(ID);
                        subscriber.SubscribedGroups.Add(group);
                    }
                }
                subscriber.Save();


                //if (getSetting<bool>("SendVerifiationEmail"))
                //{
                //    SendVerificationEmail(subscriber);
                //}
            }
            return(errorMsg);
        }
        public HttpResponseMessage Post(NewsletterSubscriber newsletterSubscriber)
        {
            var subscriber = _newsletterSubscriberRepository.FindByEmail(newsletterSubscriber.Email);

            if (subscriber != null)
            {
                return(new HttpResponseMessage(HttpStatusCode.Found));
            }

            _newsletterSubscriberRepository.Save(new Model.Entities.NewsletterSubscriber
            {
                Email = newsletterSubscriber.Email,
                Name  = newsletterSubscriber.Name
            });
            return(new HttpResponseMessage(HttpStatusCode.Created));
        }
Exemplo n.º 20
0
        private bool VerificateEmailAddress(string id)
        {
            BaseCollection <NewsletterSubscriber> subscribers = BaseCollection <NewsletterSubscriber> .Get("ID = '" + id + "'");

            if (subscribers.Count == 1)
            {
                NewsletterSubscriber subscriber = subscribers[0];
                subscriber.Confirmed = true;
                subscriber.Save();
                this.Load();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 21
0
        public int AddOrEdit(NewsletterSubscriber newsletterSubscriber)
        {
            if (newsletterSubscriber.NewsletterSubscriberId == 0)
            {
                newsletterSubscriber.MachineIP        = HttpContext.Current.Request.UserHostAddress;
                newsletterSubscriber.SubscriptionDate = DateTime.Now;
                _dbContext.NewsletterSubscribers.Add(newsletterSubscriber);
            }
            else
            {
                newsletterSubscriber.MachineIP               = HttpContext.Current.Request.UserHostAddress;
                newsletterSubscriber.SubscriptionDate        = DateTime.Now;
                _dbContext.Entry(newsletterSubscriber).State = EntityState.Modified;
            }

            return(_dbContext.SaveChanges());
        }
Exemplo n.º 22
0
        public NewsletterSubscriber GetSubscriber(Guid id)
        {
            NewsletterSubscriber subscriber = BaseObject.GetById <NewsletterSubscriber>(id);

            if (subscriber == null)
            {
                subscriber           = new BitPlate.Domain.Newsletters.NewsletterSubscriber();
                subscriber.Confirmed = true;
                foreach (NewsletterGroup group in LoadNewsletterGroupList("Name ASC"))
                {
                    if (group.IsMandatoryGroup && !subscriber.SubscribedGroups.Contains(group))
                    {
                        subscriber.SubscribedGroups.Add(group);
                    }
                }
            }

            return(subscriber);
        }
Exemplo n.º 23
0
 public int ImportNewsletterSubscribers()
 {
     JObject[] subscribers = JsonConvert.DeserializeObject <JObject[]>(File.ReadAllText(@"api/Koudou.Seed/Data/swp_site_mailing_liste.json"));
     foreach (var subscriber in subscribers)
     {
         var newSubscriber = new NewsletterSubscriber(
             HttpUtility.HtmlDecode((string)subscriber["nom"]),
             HttpUtility.HtmlDecode((string)subscriber["email"])
             );
         var      isEnabled = HttpUtility.HtmlDecode((string)subscriber["envoi_ok"]);
         DateTime dateParsed;
         DateTime.TryParseExact((string)subscriber["date_ajout"], "yyyy-MM-dd HH:mm:ss", null, DateTimeStyles.None, out dateParsed);
         newSubscriber.CreationDate     = dateParsed != null ? dateParsed : DateTime.Now;
         newSubscriber.ModificationDate = newSubscriber.CreationDate;
         Context.NewsletterSubscribers.Add(newSubscriber);
         Context.Entry(newSubscriber).Property(KoudouContext.IsSoftDeletedPropertyName).CurrentValue = (isEnabled != "1");
     }
     return(Context.SaveChanges(true));
 }
Exemplo n.º 24
0
        public JsonResult DeleteAbbonementFromGroup(string NewsLetterGroupId, string SubscriberId)
        {
            Guid NewsletterGroupID = Guid.Parse(NewsLetterGroupId);
            Guid SubscriberID      = Guid.Parse(SubscriberId);

            NewsletterSubscriber Subscriber      = NewsletterSubscriber.GetById <NewsletterSubscriber>(SubscriberID);
            NewsletterGroup      SubscriberGroup = NewsletterGroup.GetById <NewsletterGroup>(NewsletterGroupID);

            if (Subscriber.SubscribedGroups.Count > 1)
            {
                Subscriber.SubscribedGroups.Remove(SubscriberGroup);
                Subscriber.Save();
            }
            else
            {
                Subscriber.Delete();
            }
            return(JsonResult.CreateResult(true, SubscriberGroup.Subscribers));
        }
Exemplo n.º 25
0
        public async Task <IActionResult> Subscribe([FromBody] SubscribeVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // Checks the email is not already subscribed:
            if (await _dbContext.NewsletterSubscribers.AnyAsync(s => s.EmailAddress.Equals(model.EmailAddress)) == false)
            {
                NewsletterSubscriber subscriber = new NewsletterSubscriber()
                {
                    EmailAddress = model.EmailAddress
                };
                _dbContext.NewsletterSubscribers.Add(subscriber);
                await _dbContext.SaveChangesAsync();
            }
            return(Json(new { Message = "Great! We will let you know about awesome jewelry!" }));
        }
Exemplo n.º 26
0
        /// <summary>
        /// Checks for at least one filter in the GetCustomer request.
        /// See GetCustomer Post https://developers.neto.com.au/documentation/engineers/api-documentation/customers/getcustomer
        /// </summary>
        /// <returns>bool</returns>
        internal override bool isValid()
        {
            if (DateAddedFrom != DateTime.MinValue)
            {
                return(true);
            }

            if (DateAddedTo != DateTime.MinValue)
            {
                return(true);
            }

            if (DateUpdatedFrom != DateTime.MinValue)
            {
                return(true);
            }

            if (DateUpdatedTo != DateTime.MinValue)
            {
                return(true);
            }

            int requiredFilterCount = Username.NullSafeLength() +
                                      Type.NullSafeLength() +
                                      Active.NullSafeLength() +
                                      Email.NullSafeLength() +
                                      Company.NullSafeLength() +
                                      OnCreditHold.NullSafeLength() +
                                      NewsletterSubscriber.NullSafeLength() +
                                      UserGroup.NullSafeLength() +
                                      BillState.NullSafeLength();


            if (requiredFilterCount != 0)
            {
                return(true);
            }

            throw new NetoRequestException("At least one filter is required in the GetCustomer request");
        }
Exemplo n.º 27
0
        private void VerificateEmailAddress(string id)
        {
            BaseCollection <NewsletterSubscriber> subscribers = BaseCollection <NewsletterSubscriber> .Get("ID = '" + id + "'");

            if (subscribers.Count == 1)
            {
                NewsletterSubscriber subscriber = subscribers[0];
                subscriber.Confirmed = true;
                subscriber.Save();
                this.Load();
                if (this.succesTemplate != null)
                {
                    this.succesTemplate.Visible = true;
                }
            }
            else
            {
                if (this.errorTemplate != null)
                {
                    this.errorTemplate.Visible = true;
                }
            }
        }
Exemplo n.º 28
0
        public JsonResult SaveSubscriber(NewsletterSubscriber obj)
        {
            obj.Site = SessionObject.CurrentSite;
            foreach (NewsletterGroup group in LoadNewsletterGroupList("Name ASC"))
            {
                if (group.IsMandatoryGroup && !obj.SubscribedGroups.Contains(group))
                {
                    obj.SubscribedGroups.Add(group);
                }
            }
            obj.Save();
            return(JsonResult.CreateResult(true));

            /* NewsletterSubscriber Subscriber = BaseObject.GetFirst<NewsletterSubscriber>("Name = '" + OldEmail + "'");
             * if (Subscriber != null)
             * {
             *  Subscriber.EmailAdres = Email;
             *  Subscriber.Save();
             *  Guid NewsletterID = Guid.Parse(NewsLetterGroupId);
             *  return JsonResult.CreateResult(true, NewsletterGroup.GetById<NewsletterGroup>(NewsletterID).Subscribers);
             * } */
            //return JsonResult.CreateResult(false, "Unable to find subscriber.");
        }
Exemplo n.º 29
0
        private string ReplaceVerificationEmailTags(string content, NewsletterSubscriber subscriber)
        {
            CmsSite site       = SessionObject.CurrentSite;
            string  newsgroups = "";

            foreach (NewsletterGroup group in subscriber.SubscribedGroups.Where(c => c.IsMandatoryGroup == false))
            {
                newsgroups += group.Name + ", ";
            }
            if (newsgroups != "")
            {
                newsgroups = newsgroups.Substring(0, newsgroups.Length - 2);
            }
            string optinUrl = site.DomainName + "/" + site.NewsletterOptInEmailPage.RelativeUrl + "?subscriber=" + subscriber.ID.ToString();

            content = content.Replace("[OPTINURL]", optinUrl)
                      .Replace("[NAME]", subscriber.Name)
                      .Replace("[FORENAME]", subscriber.ForeName)
                      .Replace("[NAMEPREFIX]", subscriber.NamePrefix)
                      .Replace("[USERCODE]", subscriber.ID.ToString())
                      .Replace("[NEWSGROUPS]", newsgroups)
                      .Replace("[OPTINLINK]", "<a href=\"" + optinUrl + "\">").Replace("[/OPTINLINK]", "</a>");
            return(content);
        }
Exemplo n.º 30
0
        public void SubmitButton_Click(object sender, EventArgs e)
        {
            if ((TextboxEmail.Text.Trim() != "" && BitPlate.Domain.Utils.EmailManager.isValidEmailAddress(TextboxEmail.Text.Trim())) || (TextboxEmail.Text.Trim() == "*****@*****.**"))
            {
                BaseCollection <NewsletterSubscriber> subscribers = BaseCollection <NewsletterSubscriber> .Get("Name = '" + TextboxEmail.Text.Trim() + "'");

                if (subscribers.Count > 0)
                {
                    //if (this.PanelErrorRegister != null) this.PanelErrorRegister.Visible = true;
                    this.ErrorPanel.Visible = true;
                    this.ErrorLabel.Text    = "Dit emailadres is al geabonneerd.";
                }
                else
                {
                    NewsletterSubscriber subscriber = new NewsletterSubscriber();
                    subscriber.Email       = TextboxEmail.Text.Trim();
                    subscriber.Name        = (this.TextboxName != null) ? this.TextboxName.Text : "";
                    subscriber.NamePrefix  = (this.TextboxNamePrefix != null) ? this.TextboxNamePrefix.Text : "";
                    subscriber.ForeName    = (this.TextboxForeName != null) ? this.TextboxForeName.Text : "";
                    subscriber.CompanyName = (this.TextboxCompany != null) ? this.TextboxCompany.Text : "";

                    if (RadioSexeMale != null && RadioSexeMale.Checked)
                    {
                        subscriber.Gender = BaseUser.SexeEnum.Male;
                    }

                    if (RadioSexeFemale != null && RadioSexeFemale.Checked)
                    {
                        subscriber.Gender = BaseUser.SexeEnum.Female;
                    }

                    if (RadioSexeCompany != null && RadioSexeCompany.Checked)
                    {
                        subscriber.Gender = BaseUser.SexeEnum.Company;
                    }

                    //simple user link
                    //BaseCollection<SiteUser> Users = BaseCollection<SiteUser>.Get("Email = '" + subscriber.Email + "'");
                    //if (Users.Count > 0)
                    //{
                    //    subscriber.User = Users[0];
                    //}
                    subscriber.Save();

                    foreach (NewsletterGroup group in this.NewsletterGroups.Where(c => c.IsMandatoryGroup))
                    {
                        subscriber.SubscribedGroups.Add(group);
                    }

                    foreach (ListItem li in this.NewsGroupCheckBoxList.Items)
                    {
                        if (li.Selected)
                        {
                            Guid ID;
                            Guid.TryParse(li.Value, out ID);
                            NewsletterGroup group = BaseObject.GetById <NewsletterGroup>(ID);
                            subscriber.SubscribedGroups.Add(group);
                        }
                    }

                    subscriber.Save();

                    if (subscriber.SubscribedGroups.Count > 0)
                    {
                        this.TextboxEmail.Visible = false;
                        this.LoadSettings();
                        //Koppel siteuser met subscriber (als aanwezig)
                        //SiteUser user = BaseObject.GetFirst<SiteUser>("FK_Site = '" + SessionObject.CurrentSite.ID.ToString() + "' AND Email = '" + subscriber.Email + "'");
                        //if (user != null)
                        //{
                        //    subscriber.User = user;
                        //    subscriber.Save();
                        //}

                        if (this.PanelRegisterFrom != null)
                        {
                            this.PanelRegisterFrom.Visible = false;
                        }
                        if (this.Settings.ContainsKey("SendVerifiationEmail") && (bool)this.Settings["SendVerifiationEmail"])
                        {
                            NewsletterService.SendVerificationEmail(subscriber);
                            this.LoadModuleObject();
                            //if (this.PanelVerificationRequest != null) this.PanelVerificationRequest.Visible = true;
                            this.SuccessPanel.Visible = true;
                            this.SuccessLabel.Text    = "Wij hebben u een verificatie email verstuurd. In deze email zit een link om uw emailadres te activeren.";
                        }
                        else
                        {
                            //if (this.PanelSuccessRegister != null) this.PanelSuccessRegister.Visible = true;
                            this.SuccessPanel.Visible = true;
                            this.SuccessLabel.Text    = "U ontvangt vanaf nu onze nieuwsbrief.";
                            subscriber.Confirmed      = true;
                            subscriber.Save();
                        }
                        this.HandleNavigation();
                    }
                    else
                    {
                        //if (this.PanelErrorRegister != null) this.PanelErrorRegister.Visible = true;
                        this.ErrorPanel.Visible = true;
                        this.ErrorLabel.Text    = "U heeft geen interessegebied(en) geselecteerd.";
                        subscriber.Delete();
                    }
                }
            }
            else
            {
                this.ErrorPanel.Visible = true;
                this.ErrorLabel.Text    = "Dit emailadres is ongeldig";
                //if (this.PanelErrorRegister != null) this.PanelErrorRegister.Visible = true;
            }
        }