public static void AddViewData(object model, IController controller, int depth = 0) { if (depth > 3) { return; } // Step 1. Get the model if (model == null) { return; } // Step 2. Get the model type Type modelType = model.GetType(); // Step 3. Get the IAddView Attributes List <IAddViewData> addViewDataList = AttributeHelper.GetAddViewDataList(modelType); // Step 4. Call IAddViewData.Add foreach (IAddViewData addViewData in addViewDataList) { addViewData.Add(model, controller); } ///////////////////////////////////////////////////// List <IExecuteValue> executeValueList = AttributeHelper.GetAttributeList <IExecuteValue>(modelType).FindAll(x => x.Global && !string.IsNullOrEmpty(x.Key)); foreach (IExecuteValue item in executeValueList) { ((ControllerBase)controller).ViewData[item.Key] = item.Execute(null, model, controller); } }
public static void AddViewData(object model, IController controller) { // Step 1. Get the model if (model == null) { return; } // Step 2. Get the model type Type modelType = model.GetType(); // Step 3. Get the IAddView Attributes List <IAddViewData> addViewDataList = AttributeHelper.GetAddViewDataList(modelType); // Step 4. Call IAddViewData.Add foreach (IAddViewData addViewData in addViewDataList) { addViewData.Add(controller); } }