public BsPanelHtmlBuilder SetPropertiesFromModel(PropertyInfo propertyInfo) { BsPanelAttribute panelAttr = null; if (ReflectionHelpers.TryGetAttribute(propertyInfo, out panelAttr)) { DisplayAttribute displayAttr = null; ReflectionHelpers.TryGetAttribute(propertyInfo, out displayAttr); if (panelAttr != null) { this.Id(panelAttr.Id); this.Expandable(panelAttr.Expandable); this.Editable(panelAttr.Editable); } if (displayAttr != null) { this.Name(displayAttr.GetName()); } } return(this); }
public BsPanelHtmlBuilder AddPanel(BsPanelAttribute panelAttr, DisplayAttribute displayAttr) { var newPanel = new BsPanelHtmlBuilder(this.viewContext); if (panelAttr != null) { newPanel.Id(panelAttr.Id); newPanel.Expandable(panelAttr.Expandable); newPanel.Editable(panelAttr.Editable); } if (displayAttr != null) { newPanel.Name(displayAttr.GetName()); } this.Panels.Add(newPanel); return(newPanel); }
public BsPanelsHtmlBuilder(TModel model, ViewContext viewContext) : base(viewContext) { this.viewContext = viewContext; this.renderer = new BsPanelsBaseRenderer <TModel>(this); this.panelsConfig = new BsPanelsConfigurator <TModel>(viewContext); var type = typeof(TModel); foreach (var prop in type.GetProperties()) { BsPanelAttribute attr = null; if (ReflectionHelpers.TryGetAttribute(prop, out attr)) { DisplayAttribute displayAttr = null; ReflectionHelpers.TryGetAttribute(prop, out displayAttr); panelsConfig.AddPanel(attr, displayAttr); } } }