private static IModelObjectView NewModelView(IModelViews modelViews, CloneModelViewAttribute cloneViewAttribute, IModelClass modelClass) { if (cloneViewAttribute.ViewType == CloneViewType.ListView) { var listView = modelViews.AddNode <IModelListView>(cloneViewAttribute.ViewId); listView.ModelClass = modelClass; ModelListViewNodesGenerator.GenerateNodes(listView, modelClass); return(listView); } if (cloneViewAttribute.ViewType == CloneViewType.LookupListView) { var listViewModel = modelViews.AddNode <IModelListView>(cloneViewAttribute.ViewId); listViewModel.ModelClass = modelClass; listViewModel.SetValue("IsLookupView", true); if (!modelClass.TypeInfo.IsPersistent) { listViewModel.DataAccessMode = CollectionSourceDataAccessMode.Client; } listViewModel.IsGroupPanelVisible = false; listViewModel.AutoExpandAllGroups = false; listViewModel.IsFooterVisible = false; return(listViewModel); } if (cloneViewAttribute.ViewType == CloneViewType.DetailView) { var detailView = modelViews.AddNode <IModelDetailView>(cloneViewAttribute.ViewId); detailView.ModelClass = modelClass; return(detailView); } throw new NotImplementedException(); }