コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }