예제 #1
0
        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);
        }
예제 #2
0
        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;
        }
예제 #3
0
        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);
        }