/// <summary> /// Contact items selected event handler. /// </summary> protected void ContactSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); // Get new items from selector string newValues = ValidationHelper.GetString(contactsSelector.Value, null); // Get added items string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { int contactID = ValidationHelper.GetInteger(item, 0); ContactInfo contact = ContactInfoProvider.GetContactInfo(contactID); mSubscriptionService.Subscribe(contact, mNewsletter, new SubscribeSettings { AllowOptIn = false, SendConfirmationEmail = false, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } contactsSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Handles multiple selector actions. /// </summary> protected void btnOk_Clicked(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (drpActions.SelectedValue != "SELECT") { // Go through all selected items ArrayList list = UniGridSubscribers.SelectedItems; if (list.Count > 0) { SubscriberNewsletterInfo sni = null; foreach (object subscriberId in list) { sni = SubscriberNewsletterInfoProvider.GetSubscriberNewsletterInfo(ValidationHelper.GetInteger(subscriberId, 0), newsletterId); if (sni != null) { switch (drpActions.SelectedValue) { // Remove subscription case "REMOVE": SubscriberProvider.Unsubscribe(sni, chkSendConfirmation.Checked); break; // Approve subscription case "APPROVE": if (!sni.SubscriptionApproved) { sni.SubscriptionApproved = true; sni.SubscriptionApprovedWhen = DateTime.Now; SubscriberNewsletterInfoProvider.SetSubscriberNewsletterInfo(sni); } break; // Reject subscription case "REJECT": if (sni.SubscriptionApproved) { sni.SubscriptionApproved = false; sni.SubscriptionApprovedWhen = DateTime.MinValue; SubscriberNewsletterInfoProvider.SetSubscriberNewsletterInfo(sni); } break; } } } } else { ltlScript.Text += ScriptHelper.GetAlertScript(GetString("general.noitems")); } } UniGridSubscribers.ResetSelection(); UniGridSubscribers.ReloadData(); }
/// <summary> /// Subscriber control items changed event. /// </summary> protected void SubscriberSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); int subscriberID = 0; string[] newItems = null; Subscriber sb = null; // Get new items from selector string newValues = ValidationHelper.GetString(selectSubscriber.Value, null); newItems = newValues.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to site foreach (string item in newItems) { subscriberID = ValidationHelper.GetInteger(item, 0); // Get subscriber sb = SubscriberProvider.GetSubscriber(subscriberID); // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId))) { try { SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, chkSendConfirmation.Checked, chkRequireOptIn.Checked); } catch { } } } } selectSubscriber.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Handles multiple selector actions. /// </summary> protected void btnOk_Clicked(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (drpActions.SelectedValue != SELECT) { // Go through all selected items if (UniGridSubscribers.SelectedItems.Count != 0) { foreach (string subscriberId in UniGridSubscribers.SelectedItems) { int subscriberIdInt = ValidationHelper.GetInteger(subscriberId, 0); DoSubscriberAction(subscriberIdInt, drpActions.SelectedValue); } } } UniGridSubscribers.ResetSelection(); UniGridSubscribers.ReloadData(); }
/// <summary> /// Contact group items selected event handler. /// </summary> protected void CGSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); // Get new items from selector string newValues = ValidationHelper.GetString(contactGroupsSelector.Value, null); // Get added items string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { int contactGroupId = ValidationHelper.GetInteger(item, 0); ContactGroupInfo contactGroup = ContactGroupInfoProvider.GetContactGroupInfo(contactGroupId); mSubscriptionService.Subscribe(contactGroup, mNewsletter); } contactGroupsSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Subscriber control items changed event. /// </summary> protected void SubscriberSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); // Get new items from selector string newValues = ValidationHelper.GetString(selectSubscriber.Value, null); string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); // Add all new items to site foreach (string item in newItems) { int subscriberID = ValidationHelper.GetInteger(item, 0); // Get subscriber SubscriberInfo subscriber = SubscriberInfoProvider.GetSubscriberInfo(subscriberID); // If subscriber exists and is not subscribed, subscribe him if (subscriber != null) { CheckPermissionsForSubscriber(subscriber); if (!mSubscriptionService.IsSubscribed(subscriber.SubscriberID, mNewsletter.NewsletterID)) { mSubscriptionService.Subscribe(subscriber.SubscriberID, mNewsletter.NewsletterID, new SubscribeSettings() { SendConfirmationEmail = chkSendConfirmation.Checked, RequireOptIn = chkRequireOptIn.Checked, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } } } selectSubscriber.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Subscriber control items changed event. /// </summary> protected void SubscriberSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); // Get new items from selector string newValues = ValidationHelper.GetString(selectSubscriber.Value, null); string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); // Add all new items to site foreach (string item in newItems) { int subscriberID = ValidationHelper.GetInteger(item, 0); // Get subscriber SubscriberInfo sb = SubscriberInfoProvider.GetSubscriberInfo(subscriberID); // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberInfoProvider.IsSubscribed(sb.SubscriberID, mNewsletter.NewsletterID))) { CheckPermissionsForSubscriber(sb); try { SubscriberInfoProvider.Subscribe(sb.SubscriberID, mNewsletter.NewsletterID, DateTime.Now, chkSendConfirmation.Checked, chkRequireOptIn.Checked); } catch (InvalidOperationException ex) { ShowError(ex.Message); } } } selectSubscriber.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Persona items selected event handler. /// </summary> protected void PersonaSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (personaSelector == null) { return; } int siteId = SiteContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(personaSelector.Value, null); // Get added items string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Personas, ObjectActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } // Get persona ID int personaID = ValidationHelper.GetInteger(item, 0); // Try to get subscriber SubscriberInfo subscriber = SubscriberInfoProvider.GetSubscriberInfo(PredefinedObjectType.PERSONA, personaID, siteId); if (subscriber == null) { // Get persona display name var persona = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.PERSONA, personaID); string personaName = ValidationHelper.GetString(persona.GetValue("PersonaDisplayName"), string.Empty); if (string.IsNullOrEmpty(personaName)) { continue; } // Create new subscriber of persona type subscriber = new SubscriberInfo(); subscriber.SubscriberFirstName = personaName; // Full name consists of "persona" and display name subscriber.SubscriberFullName = new SubscriberFullNameFormater().GetPersonaSubscriberName(personaName); subscriber.SubscriberSiteID = siteId; subscriber.SubscriberType = PredefinedObjectType.PERSONA; subscriber.SubscriberRelatedID = personaID; CheckPermissionsForSubscriber(subscriber); SubscriberInfoProvider.SetSubscriberInfo(subscriber); } if (!mSubscriptionService.IsSubscribed(subscriber.SubscriberID, mNewsletter.NewsletterID)) { mSubscriptionService.Subscribe(subscriber.SubscriberID, mNewsletter.NewsletterID, new SubscribeSettings() { SendConfirmationEmail = chkSendConfirmation.Checked, RequireOptIn = false, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } } personaSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Contact items selected event handler. /// </summary> protected void ContactSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (cSelector == null) { return; } int siteId = SiteContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(cSelector.Value, null); // Get added items string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Subscribers, ObjectActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } // Get contact ID int contactID = ValidationHelper.GetInteger(item, 0); // Try to get subscriber SubscriberInfo subscriber = SubscriberInfoProvider.GetSubscriberInfo(PredefinedObjectType.CONTACT, contactID, siteId); if (subscriber == null) { // Get contact's info DataSet contactData = ModuleCommands.OnlineMarketingGetContactForNewsletters(contactID, "ContactFirstName,ContactMiddleName,ContactLastName,ContactEmail"); if (DataHelper.DataSourceIsEmpty(contactData)) { continue; } string firstName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactFirstName"], string.Empty); string lastName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactLastName"], string.Empty); string middleName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactMiddleName"], string.Empty); string email = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactEmail"], string.Empty); // Create new subscriber of contact type subscriber = new SubscriberInfo(); subscriber.SubscriberFirstName = firstName; subscriber.SubscriberLastName = lastName; subscriber.SubscriberEmail = email; subscriber.SubscriberFullName = new SubscriberFullNameFormater().GetContactSubscriberName(firstName, middleName, lastName); subscriber.SubscriberSiteID = siteId; subscriber.SubscriberType = PredefinedObjectType.CONTACT; subscriber.SubscriberRelatedID = contactID; CheckPermissionsForSubscriber(subscriber); SubscriberInfoProvider.SetSubscriberInfo(subscriber); } if (!mSubscriptionService.IsSubscribed(subscriber.SubscriberID, mNewsletter.NewsletterID)) { mSubscriptionService.Subscribe(subscriber.SubscriberID, mNewsletter.NewsletterID, new SubscribeSettings() { SendConfirmationEmail = chkSendConfirmation.Checked, RequireOptIn = chkRequireOptIn.Checked, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } } cSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Contact group items selected event handler. /// </summary> protected void CGSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (cgSelector == null) { return; } int siteId = SiteContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(cgSelector.Value, null); // Get added items string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Subscribers, ObjectActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } // Get group ID int groupID = ValidationHelper.GetInteger(item, 0); // Try to get subscriber SubscriberInfo subscriber = SubscriberInfoProvider.GetSubscriberInfo(PredefinedObjectType.CONTACTGROUP, groupID, siteId); if (subscriber == null) { // Get contact group display name string cgName = ModuleCommands.OnlineMarketingGetContactGroupName(groupID); if (string.IsNullOrEmpty(cgName)) { continue; } // Create new subscriber of contact group type subscriber = new SubscriberInfo(); subscriber.SubscriberFirstName = cgName; // Full name consists of "contact group " and display name subscriber.SubscriberFullName = new SubscriberFullNameFormater().GetContactGroupSubscriberName(cgName); subscriber.SubscriberSiteID = siteId; subscriber.SubscriberType = PredefinedObjectType.CONTACTGROUP; subscriber.SubscriberRelatedID = groupID; CheckPermissionsForSubscriber(subscriber); SubscriberInfoProvider.SetSubscriberInfo(subscriber); } if (!mSubscriptionService.IsSubscribed(subscriber.SubscriberID, mNewsletter.NewsletterID)) { mSubscriptionService.Subscribe(subscriber.SubscriberID, mNewsletter.NewsletterID, new SubscribeSettings() { SendConfirmationEmail = chkSendConfirmation.Checked, RequireOptIn = false, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } } cgSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// User control items changed event. /// </summary> protected void UserSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); int siteId = SiteContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(selectUser.Value, null); string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Subscribers, ObjectActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } int userID = ValidationHelper.GetInteger(item, 0); // Get subscriber SubscriberInfo subscriber = SubscriberInfoProvider.GetSubscriberInfo(UserInfo.OBJECT_TYPE, userID, siteId); if (subscriber == null) { // Get user info UserInfo ui = UserInfoProvider.GetUserInfo(userID); if (ui == null) { continue; } // Create new subscriber of user type subscriber = new SubscriberInfo(); subscriber.SubscriberFirstName = ui.FullName; subscriber.SubscriberFullName = new SubscriberFullNameFormater().GetUserSubscriberName(ui.FullName); subscriber.SubscriberSiteID = siteId; subscriber.SubscriberType = UserInfo.OBJECT_TYPE; subscriber.SubscriberRelatedID = userID; CheckPermissionsForSubscriber(subscriber); SubscriberInfoProvider.SetSubscriberInfo(subscriber); } if (!mSubscriptionService.IsSubscribed(subscriber.SubscriberID, mNewsletter.NewsletterID)) { mSubscriptionService.Subscribe(subscriber.SubscriberID, mNewsletter.NewsletterID, new SubscribeSettings() { SendConfirmationEmail = chkSendConfirmation.Checked, RequireOptIn = chkRequireOptIn.Checked, RemoveAlsoUnsubscriptionFromAllNewsletters = false, }); } } selectUser.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// User control items changed event. /// </summary> protected void UserSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); int siteId = SiteContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(selectUser.Value, null); string[] newItems = newValues.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.Subscribers, ObjectActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } int userID = ValidationHelper.GetInteger(item, 0); // Get subscriber SubscriberInfo sb = SubscriberInfoProvider.GetSubscriberInfo(UserInfo.OBJECT_TYPE, userID, siteId); if (sb == null) { // Get user info UserInfo ui = UserInfoProvider.GetUserInfo(userID); if (ui == null) { continue; } // Create new subscriber of user type sb = new SubscriberInfo(); sb.SubscriberFirstName = ui.FullName; sb.SubscriberFullName = new SubscriberFullNameFormater().GetUserSubscriberName(ui.FullName); sb.SubscriberSiteID = siteId; sb.SubscriberType = UserInfo.OBJECT_TYPE; sb.SubscriberRelatedID = userID; CheckPermissionsForSubscriber(sb); SubscriberInfoProvider.SetSubscriberInfo(sb); } // If subscriber exists and is not subscribed, subscribe him if (!SubscriberInfoProvider.IsSubscribed(sb.SubscriberID, mNewsletter.NewsletterID)) { try { SubscriberInfoProvider.Subscribe(sb.SubscriberID, mNewsletter.NewsletterID, DateTime.Now, chkSendConfirmation.Checked, chkRequireOptIn.Checked); } catch (InvalidOperationException ex) { ShowError(ex.Message); } } } selectUser.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Contact group items selected event handler. /// </summary> protected void selector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (cgSelector == null) { return; } int groupID = 0; string[] newItems = null; Subscriber sb = null; int siteId = CMSContext.CurrentSiteID; string cgType = "om.contactgroup"; // Get new items from selector string newValues = ValidationHelper.GetString(cgSelector.Value, null); // Get added items newItems = newValues.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { foreach (string item in newItems) { groupID = ValidationHelper.GetInteger(item, 0); // Get subscriber sb = SubscriberProvider.GetSubscriber(cgType, groupID, siteId); if (sb == null) { // Get contact group display name string cgName = ModuleCommands.OnlineMarketingGetContactGroupName(groupID); if (string.IsNullOrEmpty(cgName)) { break; } // Check limited number of subscribers if (!SubscriberProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.Subscribers, VersionActionEnum.Insert)) { lblError.Text = GetString("licenselimitations.subscribers.errormultiple"); lblError.Visible = true; break; } // Create new subscriber of contact group type sb = new Subscriber(); sb.SubscriberFirstName = cgName; // Full name consists of "contact group " and display name sb.SubscriberFullName = string.Concat("Contact group '", cgName, "'"); sb.SubscriberSiteID = siteId; sb.SubscriberType = cgType; sb.SubscriberRelatedID = groupID; SubscriberProvider.SetSubscriber(sb); } // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId))) { try { SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, chkSendConfirmation.Checked, false); } catch { } } } } cgSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// User control items changed event. /// </summary> protected void UserSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); int userID = 0; string[] newItems = null; Subscriber sb = null; int siteId = CMSContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(selectUser.Value, null); UserInfo ui = null; newItems = newValues.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { foreach (string item in newItems) { userID = ValidationHelper.GetInteger(item, 0); // Get subscriber sb = SubscriberProvider.GetSubscriber(SiteObjectType.USER, userID, siteId); if (sb == null) { // Get user info ui = UserInfoProvider.GetUserInfo(userID); if (ui == null) { break; } // Check limited number of subscribers if (!SubscriberProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.Subscribers, VersionActionEnum.Insert)) { lblError.Text = GetString("licenselimitations.subscribers.errormultiple"); lblError.Visible = true; break; } // Create new subscriber of user type sb = new Subscriber(); sb.SubscriberFirstName = ui.FullName; sb.SubscriberFullName = "User '" + ui.FullName + "'"; sb.SubscriberSiteID = siteId; sb.SubscriberType = SiteObjectType.USER; sb.SubscriberRelatedID = userID; SubscriberProvider.SetSubscriber(sb); } // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId))) { try { SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, chkSendConfirmation.Checked, chkRequireOptIn.Checked); } catch { } } } } selectUser.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Roles control items changed event. /// </summary> protected void RolesSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); int roleID = 0; string[] newItems = null; Subscriber sb = null; int siteId = CMSContext.CurrentSiteID; // Get new items from selector string newValues = ValidationHelper.GetString(selectRole.Value, null); // Get added items newItems = newValues.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { foreach (string item in newItems) { roleID = ValidationHelper.GetInteger(item, 0); // Get subscriber sb = SubscriberProvider.GetSubscriber(SiteObjectType.ROLE, roleID, siteId); if (sb == null) { // Get role info and copy display name to new subscriber RoleInfo ri = RoleInfoProvider.GetRoleInfo(roleID); if (ri == null) { break; } // Check limited number of subscribers if (!SubscriberProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.Subscribers, VersionActionEnum.Insert)) { lblError.Text = GetString("licenselimitations.subscribers.errormultiple"); lblError.Visible = true; break; } // Create new subscriber of role type sb = new Subscriber(); sb.SubscriberFirstName = ri.DisplayName; // Full name consists of "role " and role display name sb.SubscriberFullName = string.Concat("Role '", ri.DisplayName, "'"); sb.SubscriberSiteID = siteId; sb.SubscriberType = SiteObjectType.ROLE; sb.SubscriberRelatedID = roleID; SubscriberProvider.SetSubscriber(sb); } // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId))) { try { SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, chkSendConfirmation.Checked, false); } catch { } } } } selectRole.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }
/// <summary> /// Contact items selected event handler. /// </summary> protected void ContactSelector_OnItemsSelected(object sender, EventArgs e) { // Check permissions CheckAuthorization(); if (cSelector == null) { return; } int contactID = 0; string[] newItems = null; SubscriberInfo sb = null; int siteId = CMSContext.CurrentSiteID; string cType = PredefinedObjectType.CONTACT; DataSet contactData = null; // Get new items from selector string newValues = ValidationHelper.GetString(cSelector.Value, null); // Get added items newItems = newValues.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { foreach (string item in newItems) { // Check limited number of subscribers if (!SubscriberInfoProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.Subscribers, VersionActionEnum.Insert)) { ShowError(GetString("licenselimitations.subscribers.errormultiple")); break; } // Get contact ID contactID = ValidationHelper.GetInteger(item, 0); // Try to get subscriber sb = SubscriberInfoProvider.GetSubscriberInfo(cType, contactID, siteId); if (sb == null) { // Get contact's info contactData = ModuleCommands.OnlineMarketingGetContactForNewsletters(contactID, "ContactFirstName,ContactMiddleName,ContactLastName"); if (DataHelper.DataSourceIsEmpty(contactData)) { continue; } string firstName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactFirstName"], string.Empty); string lastName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactLastName"], string.Empty); string middleName = ValidationHelper.GetString(contactData.Tables[0].Rows[0]["ContactMiddleName"], string.Empty); // Create new subscriber of contact type sb = new SubscriberInfo(); sb.SubscriberFirstName = firstName; sb.SubscriberLastName = lastName; sb.SubscriberFullName = string.Format("Contact '{0}{1}{2}'", string.IsNullOrEmpty(firstName) ? string.Empty : firstName + " ", string.IsNullOrEmpty(middleName) ? string.Empty : middleName + " ", lastName); sb.SubscriberSiteID = siteId; sb.SubscriberType = cType; sb.SubscriberRelatedID = contactID; SubscriberInfoProvider.SetSubscriberInfo(sb); } // If subscriber exists and is not subscribed, subscribe him if ((sb != null) && (!SubscriberInfoProvider.IsSubscribed(sb.SubscriberID, newsletterId))) { try { SubscriberInfoProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, chkSendConfirmation.Checked, chkRequireOptIn.Checked); } catch { } } } } cSelector.Value = null; UniGridSubscribers.ReloadData(); pnlUpdate.Update(); }