Rock.Web.UI.Controls.MergeTemplatePicker.SetValues C# (CSharp) Method

SetValues() public method

Sets the values.
public SetValues ( IEnumerable mergeTemplates ) : void
mergeTemplates IEnumerable The merge templates.
return void
        public void SetValues( IEnumerable<MergeTemplate> mergeTemplates )
        {
            var mergeTemplateList = mergeTemplates.ToList();

            if ( mergeTemplateList.Any() )
            {
                var ids = new List<string>();
                var names = new List<string>();
                var parentCategoryIds = string.Empty;

                foreach ( var mergeTemplate in mergeTemplateList )
                {
                    if ( mergeTemplate != null )
                    {
                        ids.Add( mergeTemplate.Id.ToString() );
                        names.Add( mergeTemplate.Name );
                        var parentCategory = mergeTemplate.Category;

                        while ( parentCategory != null )
                        {
                            parentCategoryIds += parentCategory.Id.ToString() + ",";
                            parentCategory = parentCategory.ParentCategory;
                        }
                    }
                }

                InitialItemParentIds = parentCategoryIds.TrimEnd( new[] { ',' } );
                ItemIds = ids;
                ItemNames = names;
            }
            else
            {
                ItemId = Constants.None.IdValue;
                ItemName = Constants.None.TextHtml;
            }
        }