Esempio n. 1
0
        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 = Rock.Lava.LavaHelper.GetCommonMergeFields(this.RockPage, this.CurrentPerson);

            mergeFields.Add("Promos", promos);

            // add link to detail page
            Dictionary <string, object> linkedPages = new Dictionary <string, object>();

            linkedPages.Add("DetailPage", LinkedPageRoute("DetailPage"));
            mergeFields.Add("LinkedPages", linkedPages);

            lOutput.Text = GetAttributeValue("LavaTemplate").ResolveMergeFields(mergeFields);
        }
        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();
            }
        }
        public ActionResult ListPromos()
        {
            var promos = PromoService.GetPromos();

            return(PartialView("~/Views/Shared/_ListPromos.cshtml", promos));
        }