private void CreatePage(string viewPath, string masterPagePath, DotvvmProjectMetadata dotvvmProjectMetadata) { var viewModelPath = NamingHelpers.GenerateViewModelPath(viewPath); var viewModelName = NamingHelpers.GetClassNameFromPath(viewModelPath); var viewModelNamespace = NamingHelpers.GetNamespaceFromPath(viewModelPath, dotvvmProjectMetadata.ProjectDirectory, dotvvmProjectMetadata.RootNamespace); // create page var pageTemplate = new PageTemplate() { ViewModelRootNamespace = dotvvmProjectMetadata.RootNamespace, ViewModelName = viewModelName, ViewModelNamespace = viewModelNamespace, IsMasterPage = true }; if (!string.IsNullOrEmpty(masterPagePath)) { pageTemplate.EmbedInMasterPage = true; pageTemplate.MasterPageLocation = masterPagePath; pageTemplate.ContentPlaceHolderIds = new MasterPageBuilder().ExtractPlaceHolderIds(masterPagePath); } FileSystemHelpers.WriteFile(viewPath, pageTemplate.TransformText()); // create viewmodel var viewModelTemplate = new ViewModelTemplate() { ViewModelName = viewModelName, ViewModelNamespace = viewModelNamespace // TODO: BaseViewModel }; FileSystemHelpers.WriteFile(viewModelPath, viewModelTemplate.TransformText()); }
public void RenderViewModel(List <EntityModel> entity, List <EnumModel> enums) { if (!Directory.Exists(_outputPath + "Model\\")) { Directory.CreateDirectory(_outputPath + "Model\\"); } var controllerTemplate = new ViewModelTemplate(_projectName, _tableName, enums, entity); var output = controllerTemplate.TransformText(); var outputpath = _outputPath + "Model\\" + NormalizeTableName + "Model.cs"; File.WriteAllText(outputpath, output); }
public void ViewModel_Template_Test() { var template = new ViewModelTemplate(new EntityInfo() { Id = _entityId }, ApplicationId, Constants.ViewModelNamespace, new Dictionary <string, string> { { "Test", "Test" } }); var output = template.TransformText(); Assert.NotNull(output); Assert.NotEmpty(output); Assert.Contains($"namespace {ApplicationId}.Backend.{Constants.ViewModelNamespace}", output); }
private void CreateViewModel(string viewModelPath, DotvvmProjectMetadata dotvvmProjectMetadata) { var viewModelName = NamingHelpers.GetClassNameFromPath(viewModelPath); var viewModelNamespace = NamingHelpers.GetNamespaceFromPath(viewModelPath, dotvvmProjectMetadata.ProjectDirectory, dotvvmProjectMetadata.RootNamespace); // create viewmodel var viewModelTemplate = new ViewModelTemplate() { ViewModelName = viewModelName, ViewModelNamespace = viewModelNamespace // TODO: BaseViewModel }; FileSystemHelpers.WriteFile(viewModelPath, viewModelTemplate.TransformText()); }
public void ViewModel_Template_NullParameter_Test() { var template = new ViewModelTemplate(null, null, null, null); Assert.Throws <ArgumentNullException>(() => template.TransformText()); }
private void TransformControllerApiParameters(SmartAppInfo manifest, ApiActionInfo action) { bool result = true; foreach (var param in action.Parameters.AsEnumerable()) { if (!result) { break; } Dictionary <string, string> entityTypes = GetAllReferencedTypes(param); if (param.DataModel != null) { var dataTemplate = new ViewModelTemplate(param.DataModel, manifest.Id, Constants.ViewModelNamespace, entityTypes); try { result = _writingService.WriteFile(Path.Combine(_context.BasePath, dataTemplate.OutputPath, param.DataModel.Id + ".g.cs"), dataTemplate.TransformText()); } catch (Exception ex) { result = false; } } } }
private void TransformControllerApiReturnTypes(SmartAppInfo manifest, ApiActionInfo action) { if (action.ReturnType != null) { Dictionary <string, string> entityTypes = GetAllReferencedTypes(action.ReturnType); var dataTemplate = new ViewModelTemplate(action.ReturnType, manifest.Id, Constants.ViewModelNamespace, entityTypes); _writingService.WriteFile(Path.Combine(_context.BasePath, dataTemplate.OutputPath, action.ReturnType.Id + ".g.cs"), dataTemplate.TransformText()); } }