GetPromos() public method

Gets the promos.
public GetPromos ( int categoryId, bool isTopFree = false, bool isFeatured = false, bool isTopPaid = false ) : List
categoryId int The category identifier.
isTopFree bool if set to true [is top free].
isFeatured bool if set to true [is featured].
isTopPaid bool if set to true [is top paid].
return List
        private void LoadPromos()
        {
            string errorResponse = string.Empty;

            PromoService promoService = new PromoService();
            var promos = new List<Promo>();

            // get category
            int? categoryId = null;

            if ( !string.IsNullOrWhiteSpace( GetAttributeValue( "CategoryId" ) ) )
            {
                categoryId = Convert.ToInt32(GetAttributeValue( "CategoryId" ));
            }

            // get promo type
            bool isTopFree = false;
            bool isTopPaid = false;
            bool isFeatured = false;

            string promoType = GetAttributeValue( "PromoType" ); //"Top Paid, Top Free, Featured"
            switch ( promoType )
            {
                case "Top Paid":
                    isTopPaid = true;
                    break;
                case "Top Free":
                    isTopFree = true;
                    break;
                case "Featured":
                    isFeatured = true;
                    break;
            }

            promos = promoService.GetPromos( categoryId, out errorResponse, isTopFree, isFeatured, isTopPaid );

            // check for errors
            ErrorCheck( errorResponse );

            var mergeFields = new Dictionary<string, object>();
            mergeFields.Add( "CurrentPerson", CurrentPerson );

            var globalAttributeFields = Rock.Web.Cache.GlobalAttributesCache.GetMergeFields( CurrentPerson );
            globalAttributeFields.ToList().ForEach( d => mergeFields.Add( d.Key, d.Value ) );

            mergeFields.Add( "Promos", promos );

            // add link to detail page
            Dictionary<string, object> linkedPages = new Dictionary<string, object>();
            linkedPages.Add( "DetailPage", LinkedPageUrl( "DetailPage", null ) );
            mergeFields.Add( "LinkedPages", linkedPages );

            lOutput.Text = GetAttributeValue( "LavaTemplate" ).ResolveMergeFields( mergeFields );

            // show debug info
            if ( GetAttributeValue( "EnableDebug" ).AsBoolean() && IsUserAuthorized( Authorization.EDIT ) )
            {
                lDebug.Visible = true;
                lDebug.Text = mergeFields.lavaDebugInfo();
            }
        }