예제 #1
0
        public DynamicDetailsViewModel Build(DynamicEntityMetadata dynamicEntityMetadata, dynamic detailModel)
        {
            var dynamicDetailsViewModel = new DynamicDetailsViewModel();

            dynamicDetailsViewModel.TypeName         = dynamicEntityMetadata.TypeName();
            dynamicDetailsViewModel.Header           = dynamicEntityMetadata.DetailsHeader();
            dynamicDetailsViewModel.Item             = detailModel;
            dynamicDetailsViewModel.DynamicUIMethods = dynamicEntityMetadata.GetDynamicMethods(TemplateTypeEnum.Details).ToList();
            foreach (var dynamicPropertyEditorViewModel in GetDynamicPropertyViewModels(dynamicEntityMetadata, detailModel))
            {
                var dynamicEditorViewModel = new DynamicEditorViewModel();
                dynamicEditorViewModel.ViewModelPropertyName          = dynamicPropertyEditorViewModel.ViewModelPropertyName;
                dynamicEditorViewModel.DynamicEditorName              = dynamicPropertyEditorViewModel.DynamicEditorName;
                dynamicEditorViewModel.DynamicPropertyEditorViewModel = dynamicPropertyEditorViewModel;
                dynamicDetailsViewModel.DynamicEditorViewModels.Add(dynamicEditorViewModel);
            }


            return(dynamicDetailsViewModel);
        }
        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);
        }
        public DynamicDetailsViewModel Build(DynamicEntityMetadata dynamicEntityMetadata, dynamic detailModel)
        {
            var dynamicDetailsViewModel = new DynamicDetailsViewModel();

            dynamicDetailsViewModel.TypeName = dynamicEntityMetadata.TypeName;
            dynamicDetailsViewModel.Header   = dynamicEntityMetadata.DetailsHeader;
            dynamicDetailsViewModel.Item     = detailModel;

            foreach (var dynamicPropertyEditorViewModel in GetDynamicPropertyViewModels(dynamicEntityMetadata, detailModel))
            {
                var dynamicEditorViewModel = new DynamicEditorViewModel();
                dynamicEditorViewModel.ViewModelPropertyName          = dynamicPropertyEditorViewModel.ViewModelPropertyName;
                dynamicEditorViewModel.DynamicEditorName              = dynamicPropertyEditorViewModel.DynamicEditorName;
                dynamicEditorViewModel.DynamicPropertyEditorViewModel = dynamicPropertyEditorViewModel;
                dynamicDetailsViewModel.DynamicEditorViewModels.Add(dynamicEditorViewModel);
            }


            return(dynamicDetailsViewModel);
        }
예제 #4
0
        public DynamicEditViewModel Build(DynamicEntityMetadata dynamicEntityMetadata, dynamic editModel, string returnUrl)
        {
            var dynamicEditViewModel = new DynamicEditViewModel();

            dynamicEditViewModel.Header    = dynamicEntityMetadata.EditHeader;
            dynamicEditViewModel.TypeName  = dynamicEntityMetadata.TypeName;
            dynamicEditViewModel.ReturnUrl = returnUrl;
            dynamicEditViewModel.Item      = editModel;


            foreach (var dynamicPropertyViewModel in GetDynamicPropertyViewModels(dynamicEntityMetadata, editModel))
            {
                var dynamicEditorViewModel = new DynamicEditorViewModel();
                dynamicEditorViewModel.ViewModelPropertyName          = dynamicPropertyViewModel.ViewModelPropertyName;
                dynamicEditorViewModel.DynamicEditorName              = dynamicPropertyViewModel.DynamicEditorName;
                dynamicEditorViewModel.DynamicPropertyEditorViewModel = dynamicPropertyViewModel;
                dynamicEditViewModel.DynamicEditorViewModels.Add(dynamicEditorViewModel);
            }

            return(dynamicEditViewModel);
        }
예제 #5
0
 public static HtmlString DynamicEditor(this HtmlHelper helper, DynamicEditorViewModel dynamicEditorViewModel)
 {
     // ReSharper disable once RedundantAnonymousTypePropertyName
     return(helper.Editor(dynamicEditorViewModel.ViewModelPropertyName, dynamicEditorViewModel.DynamicEditorName, new { DynamicPropertyEditorViewModel = dynamicEditorViewModel.DynamicPropertyEditorViewModel }));
 }