public List <RecipientListInfo> GetAllRecipientLists() { ManagerRoot root = UIFactory.Instance.GetSpeakContext().ManagerRoot; List <RecipientListInfo> list = new List <RecipientListInfo>(); if (root != null) { List <TargetAudience> taList = root.GetTargetAudiences(); foreach (TargetAudience ta in taList) { string owner = ta.InnerItem.Statistics.CreatedBy; if (String.IsNullOrEmpty(owner)) { owner = ta.InnerItem.Statistics.CreatedBy; } if (String.IsNullOrEmpty(owner)) { owner = "Admin/Unknown"; } if (CurrentUserIsOwner(owner)) { list.Add(new RecipientListInfo() { Key = ta.ID, Name = ta.Name, Owner = owner, Count = ta.SubscribersNames.Count, CreatedDate = ta.InnerItem.Statistics.Created }); } } } return(list); }
private bool CreateList(string nameParameter) { nameParameter = nameParameter.Trim(); if (!String.IsNullOrEmpty(nameParameter)) { using (new SecurityDisabler()) { ManagerRoot root = UIFactory.Instance.GetSpeakContext().ManagerRoot; Util.AssertNotNull(root); List <TargetAudience> taList = root.GetTargetAudiences(); List <string> taNames = new List <string>(); foreach (TargetAudience ta in taList) { taNames.Add(ta.Name); } if (taNames.Contains(nameParameter)) { return(false); } Item listsContainerRoot = UIFactory.Instance.GetSpeakContext().ManagerRoot.GetRecipientListContainerItem(); if (listsContainerRoot != null) { TargetAudience ta = TargetAudienceSource.Create(nameParameter, listsContainerRoot, null, null); return(true); } } } return(false); }
private bool RenameList(string rid, string nameParameter) { nameParameter = nameParameter.Trim(); if (!String.IsNullOrEmpty(nameParameter)) { using (new SecurityDisabler()) { ManagerRoot root = UIFactory.Instance.GetSpeakContext().ManagerRoot; Util.AssertNotNull(root); List <TargetAudience> taList = root.GetTargetAudiences(); TargetAudience rl = Sitecore.Modules.EmailCampaign.Factory.GetTargetAudience(rid); List <string> taNames = new List <string>(); foreach (TargetAudience ta in taList) { if (ta.Name != rl.Name) { taNames.Add(ta.Name.ToLowerInvariant()); } } if (taNames.Contains(nameParameter.ToLowerInvariant())) { return(false); } if (rl.Name != nameParameter) { using (new EditContext(rl.InnerItem)) { rl.InnerItem.Name = nameParameter; } rl.Source.Name = nameParameter; } return(true); } } return(false); }