public static DetailView CreateDetailView(XafApplication xafApplication, string viewId, IObjectSpace objectSpace, object obj, bool isRoot, bool enableDelayedObjectLoading) { if (obj != null) { CheckDetailViewId(viewId, obj.GetType()); } IModelView modelView = xafApplication.FindModelView(viewId); if (!(modelView is IModelDetailView)) { throw new ArgumentException( $"A '{null}' node was passed while a '{typeof(IModelDetailView).Name}' node was expected. Node id: '{viewId}'"); } DetailView result; if (enableDelayedObjectLoading) { result = new XpandDetailView(objectSpace, null, xafApplication, isRoot); // ReSharper disable once ObjectCreationAsStatement new DetailViewCurrentObjectInitializer(result, obj); } else { result = new XpandDetailView(objectSpace, objectSpace.GetObject(obj), xafApplication, isRoot); } result.DelayedItemsInitialization = xafApplication.DelayedViewItemsInitialization; result.SetModel(modelView); return(result); }
public static DetailView CreateDetailView(XafApplication xafApplication, string viewId, object obj, IObjectSpace objectSpace, bool isRoot) { if (obj != null) { CheckDetailViewId(viewId, obj.GetType()); } IModelView modelView = xafApplication.FindModelView(viewId); if (!(modelView is IModelDetailView)) { throw new ArgumentException(string.Format( "A '{0}' node was passed while a '{1}' node was expected. Node id: '{2}'", null, typeof(IModelDetailView).Name, viewId)); } var detailView = new XpandDetailView(objectSpace, obj, xafApplication, isRoot) { DelayedItemsInitialization = xafApplication.DelayedViewItemsInitialization }; detailView.SetModel(modelView); return detailView; }
public static DetailView CreateDetailView(XafApplication xafApplication, string viewId, object obj, IObjectSpace objectSpace, bool isRoot) { if (obj != null) { CheckDetailViewId(viewId, obj.GetType()); } IModelView modelView = xafApplication.FindModelView(viewId); if (!(modelView is IModelDetailView)) { throw new ArgumentException(string.Format( "A '{0}' node was passed while a '{1}' node was expected. Node id: '{2}'", null, typeof(IModelDetailView).Name, viewId)); } var detailView = new XpandDetailView(objectSpace, obj, xafApplication, isRoot) { DelayedItemsInitialization = xafApplication.DelayedViewItemsInitialization }; detailView.SetModel(modelView); return(detailView); }