private void ImportSubscriberList() { if (ruImport.UploadedFiles.Count > 0) { foreach (UploadedFile validFile in ruImport.UploadedFiles) { using (StreamReader reader = new StreamReader(validFile.InputStream)) { emaillist = reader.ReadToEnd().Split(','); } } } foreach (var email in emaillist) { if (!CampaignManagerUtils.IsDuplicateSubscriber(email)) { var subscriber = new CMCore.Subscriber(); subscriber.Email = email.Replace("\"", ""); subscriber.IsActive = true; subscriber.DateCreated = DateTime.Now; new CMData.SubscriberRepository().Save(subscriber); subscribers.Add(subscriber); emailsAdded++; } else { duplicateEmails++; } } ImportedSubscribers = subscribers; lblReadyForImport.Text = emaillist.Length.ToString(); lblEmailsImported.Text = emailsAdded.ToString(); lblEmailsSkipped.Text = duplicateEmails.ToString(); }
private CMCore.Subscriber SaveNewSubscriber(string email) { var s = new CMData.SubscriberRepository().GetByEmail(email); if (s == null) { s = new CMCore.Subscriber(); s.Email = email; s.DateCreated = DateTime.Now; s.IsActive = true; new CMData.SubscriberRepository().Save(s); return(s); } return(null); }
private List <CMCore.Subscriber> BuildSubscriberListForTags() { var subscribers = new List <CMCore.Subscriber>(); foreach (GridDataItem row in rgSubscribers.MasterTableView.Items) { if (row.ItemType == GridItemType.AlternatingItem || row.ItemType == GridItemType.Item) { var cb = row.FindControl("cbSelectRow") as IdeaSeed.Web.UI.CheckBox; if (cb.Checked) { var subscriber = new CMCore.Subscriber(); subscriber.ID = Convert.ToInt32(cb.Attributes["subscriberID"]); subscriber.Email = row["Email"].Text; subscriber.FirstName = row["FirstName"].Text; subscriber.LastName = row["LastName"].Text; subscribers.Add(subscriber); } } } return(subscribers); }
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."); } } }