Ejemplo n.º 1
0
        public JsonResult SaveAbbonementEmail(string NewsLetterGroupId, string Email)
        {
            NewsletterSubscriber Subscriber;
            Guid            NewsletterGroupID      = Guid.Parse(NewsLetterGroupId);
            NewsletterGroup CurrentNewsletterGroup = NewsletterGroup.GetById <NewsletterGroup>(NewsletterGroupID);
            //BaseCollection<NewsletterSubscriber> SubScribers = BaseCollection<NewsletterSubscriber>.Get("EmailAdres = '" + Email + "'");
            BaseCollection <NewsletterSubscriber> SubScribers = BaseCollection <NewsletterSubscriber> .Get("Name = '" + Email + "'");

            if (SubScribers.Count >= 1)
            {
                Subscriber = SubScribers[0];

                if (Subscriber.SubscribedGroups.Where(c => c.ID == NewsletterGroupID).Count() >= 1)
                {
                    return(JsonResult.CreateResult(false, "Dit emailadres is al toegekend aan deze nieuwsbrief groep."));
                }
                else
                {
                    Subscriber.SubscribedGroups.Add(CurrentNewsletterGroup);
                    Subscriber.Save();
                }
            }
            else
            {
                Subscriber       = new BitPlate.Domain.Newsletters.NewsletterSubscriber();
                Subscriber.Email = Email;
                Subscriber.SubscribedGroups.Add(CurrentNewsletterGroup);
                Subscriber.Save();
            }
            return(JsonResult.CreateResult(true, CurrentNewsletterGroup.Subscribers));
        }
Ejemplo n.º 2
0
        public List <TreeGridItem> LoadNewsletterList(NewsletterGroup obj = null)
        {
            List <TreeGridItem>         returnValue = new List <TreeGridItem>();
            BaseCollection <Newsletter> newsletters = new HJORM.BaseCollection <BitPlate.Domain.Newsletters.Newsletter>();

            if (obj == null)
            {
                newsletters = BaseCollection <Newsletter> .Get("FK_Site='" + SessionObject.CurrentSite.ID.ToString() + "'");
            }
            else
            {
                newsletters = obj.Newsletters;
            }

            foreach (Newsletter newsletter in newsletters)
            {
                TreeGridItem tgi = new TreeGridItem();
                tgi.ID         = newsletter.ID;
                tgi.Name       = newsletter.Name;
                tgi.CreateDate = newsletter.CreateDate;
                tgi.Field1     = newsletter.MailingGroupsString;
                returnValue.Add(tgi);
            }
            return(returnValue);
        }
Ejemplo n.º 3
0
        public JsonResult SaveNewsletterGroup(NewsletterGroup obj)
        {
            List <string> returnValue = new List <string>();

            //Dictionary<string, object> returnValue = new Dictionary<string, object>();
            bool      Success = true;
            Exception exc     = null;

            try
            {
                obj.Save();
            }
            catch (Exception ex)
            {
                Success = false;
                exc     = ex;
            }
            if (Success)
            {
                //BaseCollection<NewsletterGroup> Groups = LoadNewsletterGroupList();
                returnValue.Add(obj.ID.ToString());
                return(JsonResult.CreateResult(Success, returnValue));
            }
            else
            {
                return(JsonResult.CreateResult(Success, exc.Message));
            }
        }
Ejemplo n.º 4
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("");
        }
Ejemplo n.º 5
0
        public void SubmitButton_Click(object sender, EventArgs e)
        {
            if (this.Subscriber != null && this.NewsGroupCheckBoxList != null)
            {
                this.Subscriber.SubscribedGroups.Clear();

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

                foreach (NewsletterGroup group in this.NewsletterGroups)
                {
                    if (group.IsMandatoryGroup)
                    {
                        this.Subscriber.SubscribedGroups.Add(group);
                    }
                }

                this.Subscriber.Save();
            }
            if (this.PanelSubscriptionChangeSaved != null)
            {
                this.PanelSubscriptionChangeSaved.Visible = true;
            }
        }
Ejemplo n.º 6
0
        public Dictionary <string, object> LoadNewsletterGroupDetails(NewsletterGroup obj)
        {
            BaseCollection <NewsletterSubscriber> Subscribers = obj.Subscribers;
            BaseCollection <Newsletter>           Newsletters = obj.Newsletters;
            Dictionary <string, object>           ReturnValue = new Dictionary <string, object>();

            ReturnValue.Add("Newsletters", Newsletters);
            ReturnValue.Add("Subscribers", Subscribers);
            return(ReturnValue);
        }
Ejemplo n.º 7
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);
        }
Ejemplo n.º 8
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);
        }
Ejemplo n.º 9
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));
        }
Ejemplo n.º 10
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;
            }
        }
Ejemplo n.º 11
0
 public JsonResult DeleteNewsletterGroup(NewsletterGroup obj)
 {
     obj.Delete();
     return(JsonResult.CreateResult(true, LoadNewsletterGroupList("Name ASC")));// LoadNewsletterGroupList();
 }