コード例 #1
0
 protected void ApplyClicked(object o, EventArgs e)
 {
     foreach (GridDataItem row in rgSubscribers.MasterTableView.Items)
     {
         var cb = row.FindControl("cbSelectRow") as IdeaSeed.Web.UI.CheckBox;
         if (cb.Checked)
         {
             var subscriberTags = new SubscriberCampaignTag();
             subscriberTags.CampaignTagID = CurrentTagID;
             subscriberTags.SubscriberID  = Convert.ToInt32(cb.Attributes["subscriberID"]);
             if (IsAdd)
             {
                 new CMData.SubscriberCampaignTagRepository().Save(subscriberTags);
             }
             else
             {
                 var subTags = new CMData.SubscriberCampaignTagRepository().GetByCampaignTagIDSubscriberID(CurrentTagID, Convert.ToInt32(cb.Attributes["subscriberID"]));
                 new CMData.SubscriberCampaignTagRepository().Delete(subTags[0]);
             }
         }
     }
     ddlSearchColumn.SelectedIndex = 0;
     tbEndDate.DateInput.Text      = "";
     tbSearch.Text = "";
     tbStartDate.DateInput.Text = "";
     LoadSubscribers(true, IsAdd, false);
 }
コード例 #2
0
        protected void ApplyClicked(object o, EventArgs e)
        {
            if (SelectedSubscribers != null)
            {
                int totalUpdated = 0;
                //Iterate through selected subscribers
                foreach (var subscriber in SelectedSubscribers)
                {
                    //iterate through selected tags
                    foreach (GridDataItem row in rgTags.MasterTableView.Items)
                    {
                        var cb = row.FindControl("cbSelectRow") as IdeaSeed.Web.UI.CheckBox;
                        if (cb.Checked)
                        {
                            int campiagnTagID = Convert.ToInt32(cb.Attributes["campaignTagID"]);
                            if (IsAdd)
                            {
                                if (!CampaignManagerUtils.SubscriberHasTag(subscriber.ID, campiagnTagID))
                                {
                                    var subscriberTags = new CMCore.SubscriberCampaignTag();
                                    subscriberTags.CampaignTagID = campiagnTagID;
                                    subscriberTags.SubscriberID  = subscriber.ID;

                                    new CMData.SubscriberCampaignTagRepository().Save(subscriberTags);
                                }
                            }
                            else
                            {
                                if (CampaignManagerUtils.SubscriberHasTag(subscriber.ID, campiagnTagID))
                                {
                                    var subTags = new CMData.SubscriberCampaignTagRepository().GetByCampaignTagIDSubscriberID(campiagnTagID, subscriber.ID);
                                    new CMData.SubscriberCampaignTagRepository().Delete(subTags[0]);
                                }
                            }
                            totalUpdated++;
                        }
                    }
                }
                lblMessage.Visible = true;
                lblMessage.Text    = "<b><font color='green'>" + totalUpdated.ToString() + "</font> tags where updated on <font color='red'>" + SelectedSubscribers.Count.ToString() + "</font> subscriber(s).</b>";
            }
        }
コード例 #3
0
        protected void ItemCommand(object o, GridCommandEventArgs e)
        {
            if (e.CommandName == RadGrid.PerformInsertCommandName)
            {
                var subscriber = new CMCore.Subscriber();
                subscriber.Email       = (e.Item.FindControl("tbEmail") as IdeaSeed.Web.UI.TextBox).Text;
                subscriber.FirstName   = (e.Item.FindControl("tbFirstName") as IdeaSeed.Web.UI.TextBox).Text;
                subscriber.LastName    = (e.Item.FindControl("tbLastName") as IdeaSeed.Web.UI.TextBox).Text;
                subscriber.IsActive    = (e.Item.FindControl("cbIsActive") as IdeaSeed.Web.UI.CheckBox).Checked;
                subscriber.DateCreated = DateTime.Now;
                if (CampaignManagerUtils.IsDuplicateSubscriber(subscriber.Email))
                {
                    ShowErrorModal(this, "This email address already exists.");
                }
                else
                {
                    new CMData.SubscriberRepository().Save(subscriber);
                }
            }
            if (e.CommandName == RadGrid.UpdateCommandName)
            {
                if (e.Item is GridEditableItem)
                {
                    var subscriber = new CMData.SubscriberRepository().GetByID((int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"], false);
                    subscriber.Email     = (e.Item.FindControl("tbEmail") as IdeaSeed.Web.UI.TextBox).Text;
                    subscriber.FirstName = (e.Item.FindControl("tbFirstName") as IdeaSeed.Web.UI.TextBox).Text;
                    subscriber.LastName  = (e.Item.FindControl("tbLastName") as IdeaSeed.Web.UI.TextBox).Text;
                    subscriber.IsActive  = (e.Item.FindControl("cbIsActive") as IdeaSeed.Web.UI.CheckBox).Checked;
                    //This checks to make sure the original subscriber object and dirty subscriber object's email matches.  If not, then check for duplicate.

                    if ((e.Item.FindControl("tbEmail") as IdeaSeed.Web.UI.TextBox).Attributes["email"].Equals(subscriber.Email))
                    {
                        new CMData.SubscriberRepository().SaveOrUpdate(subscriber);
                    }
                    else
                    {
                        if (CampaignManagerUtils.IsDuplicateSubscriber(subscriber.Email))
                        {
                            ShowErrorModal(this, "This email address already exists.");
                            e.Item.Expanded = true;
                        }
                        else
                        {
                            if (IdeaSeed.Core.Validation.ValidationUtils.IsEmailValid(subscriber.Email))
                            {
                                new CMData.SubscriberRepository().SaveOrUpdate(subscriber);
                            }
                        }
                    }
                }
            }
            if (e.CommandName == RadGrid.DeleteCommandName)
            {
                var subscriber = new CMData.SubscriberRepository().GetByID((int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"], false);
                try
                {
                    var tags = new CMData.SubscriberCampaignTagRepository().GetBySubscriberID(subscriber.ID);
                    foreach (var t in tags)
                    {
                        new CMData.SubscriberCampaignTagRepository().Delete(t);
                    }
                    new CMData.SubscriberRepository().Delete(subscriber);
                }
                catch (Exception ex)
                {
                    ShowErrorModal(this, "This tag is associated with one or more subscribers, or campaigns and cannot be deleted.  You must first remove this tag from all subscribers and campaigns.");
                }
            }
        }