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);
        }