public DynamicCreateViewModel Build(DynamicEntityMetadata dynamicEntityMetadata, dynamic createModel, string returnUrl) { var dynamicCreateViewModel = new DynamicCreateViewModel(); dynamicCreateViewModel.Header = dynamicEntityMetadata.CreateHeader(); dynamicCreateViewModel.TypeName = dynamicEntityMetadata.TypeName(); dynamicCreateViewModel.ReturnUrl = returnUrl; dynamicCreateViewModel.Item = createModel; dynamicCreateViewModel.DynamicUIMethods = dynamicEntityMetadata.GetDynamicMethods(TemplateTypeEnum.Create).ToList(); foreach (var dynamicPropertyEditorViewModel in GetDynamicPropertyViewModels(dynamicEntityMetadata, createModel)) { var dynamicEditorViewModel = new DynamicEditorViewModel(); dynamicEditorViewModel.ViewModelPropertyName = dynamicPropertyEditorViewModel.ViewModelPropertyName; dynamicEditorViewModel.DynamicEditorName = dynamicPropertyEditorViewModel.DynamicEditorName; dynamicEditorViewModel.DynamicPropertyEditorViewModel = dynamicPropertyEditorViewModel; dynamicCreateViewModel.DynamicEditorViewModels.Add(dynamicEditorViewModel); } return(dynamicCreateViewModel); }