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); }