Esempio n. 1
0
        public static Boolean IsType(this CoreInferred model, params Type[] types)
        {
            var isValid = false;

            // Get Type from regular objects and Castle Proxy Objects
            var modelType = ProxyUtil.GetUnproxiedType(model);

            foreach (var type in types)
            {
                if (type.IsAssignableFrom(modelType))
                {
                    isValid = true;
                    break;
                }
            }

            if (!isValid)
            {
                Request.Items.Set <String>(
                    ErrMsgKey,
                    String.Format(
                        "This rendering requires type {0}. (attempted type {1})",
                        String.Join(", ", types.Select(t => t.Name).ToList()),
                        model.GetType().ToString()
                        )
                    );
            }


            return(isValid);
        }
        public override void Initialize(Rendering rendering)
        {
            base.Initialize(rendering);

            var contextItem  = Rendering.Item; // AE.Core.PageContext.Current.DataItem
            var glassService = new SitecoreContext();

            Inferred = glassService.Cast <CoreInferred>(contextItem, true, true);
        }
 /// <summary>
 /// Returns the first non-empty string from list of parameters
 /// </summary>
 /// <param name="model"></param>
 /// <param name="values"></param>
 /// <returns></returns>
 public static String Coalesce(this CoreInferred model, params String[] values)
 {
     foreach (var val in values)
     {
         if (!String.IsNullOrWhiteSpace(val))
         {
             return(val);
         }
     }
     return(String.Empty);
 }