void SaveToProject() { TreeNode node = tvProjectItems.SelectedNode; string moduleName = txtModuleName.Text; CodeGeneratorModule mod = null; int i = 0; foreach (CodeGeneratorModule module in CurrentProject.Modules) { if (module.ModuleName == moduleName) { mod = module; break; } i++; } if (mod == null) { mod = new CodeGeneratorModule(); CurrentProject.Modules.Add(mod); } else { CurrentProject.Modules[i] = mod; } mod = PopulateModule(mod); SaveProjectToFile(); DisplayProject(); }
void DeleteModule() { DialogResult result = MessageBox.Show("Confirm deletion", "Are you sure you want to delete it?", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { CodeGeneratorModule module = (CodeGeneratorModule)this.tvProjectItems.SelectedNode.Tag; CurrentProject.Modules.Remove(module); SaveProject(CurrentProject.Filename); DisplayProject(); tvProjectItems.ExpandAll(); } }
void CreateNewModule() { FormCreateModule frm = new FormCreateModule(); frm.ShowDialog(); if (frm.Module != null) { InitCmbModelTypes(); CodeGeneratorModule module = frm.Module; CurrentProject.Modules.Add(module); DisplayProject(); SelectModuleNode(module.SessionName); } }
void GenerateAll(string path, CodeGeneratorProject project, CodeGeneratorModule module) { List <CodeTemplate> codeTemplates = (List <CodeTemplate>)dataGridView1.DataSource; foreach (CodeTemplate template in codeTemplates) { if (template.Checked) { Info("Generating " + module.SessionName + " : " + template.TemplateName); string filename = template.DefaultFilename.Replace("<companyname>", project.Company).Replace("<projectname>", project.ProjectName).Replace("<modulename>", module.ModuleName); DataSourceTable table = (DataSourceTable)module.Datasource; string tableName = table.TableName; filename = filename.Replace("<tablename>", tableName); filename = path + "/" + filename; string dir = System.IO.Path.GetDirectoryName(filename); if (System.IO.Directory.Exists(dir) == false) { System.IO.Directory.CreateDirectory(dir); } Info("Generating file : " + module.SessionName + " : " + filename); string result = CodeCompiler.GenerateCodeForModule(project, module, template.TemplateCodePlain); result = result.Replace("\\%", "%"); try { System.IO.File.WriteAllText(filename, result); Info("Done "); } catch (Exception err) { Info(err.Message); } currentProgress++; this.SetPgBarValue(currentProgress); } } if (this.OnGenerateDoneEvent != null) { this.OnGenerateDoneEvent(module); } //MessageBox.Show("Done"); }
void EditNewModule() { FormCreateModule frm = new FormCreateModule(); frm.Module = CurrentModule; frm.ShowDialog(); if (frm.Module != null) { InitCmbModelTypes(); CodeGeneratorModule module = frm.Module; SaveProject(CurrentProject.Filename); DisplayProject(); tvProjectItems.ExpandAll(); SelectModuleNode(module.SessionName); } }
CodeGeneratorModule PopulateModule(CodeGeneratorModule module) { module.ModuleName = txtModuleName.Text; module.Namespace = txtNamespace.Text; module.Classname = txtClassName.Text; module.Connection = (SavedConnection)cmbSavedConnection.SelectedItem; //if(module.Datasource == null) //module.Datasource = (DataSourceTable)cmbDatasource.SelectedItem; ModelType modelType = (ModelType)cmbModelType.SelectedItem; module.Datasource = (DataSourceTable)modelType.Datasource; module.ModelType = ((ModelType)cmbModelType.SelectedItem).Clone(); return(module); }
void DisplayModule(CodeGeneratorModule module) { txtProjectName.Text = this.CurrentProject.ProjectName; txtModuleName.Text = module.ModuleName; groupSessionModule.Visible = true; if (module.Connection != null) { cmbSavedConnection.SelectedValue = module.Connection.ConnectionName; } txtClassName.Text = module.Classname; txtNamespace.Text = module.Namespace; if (module.ModelType != null) { cmbModelType.SelectedIndex = GetCmbSelectedTypeSelectedIndex(module.ModelType.ModelTypeName); } if (module.ModelType != null) { //formPanel.Controls.Clear(); //formPanel.Controls.Add((UserControl)module.ModelType.ModelTypeConfigurator); //module.ModelType.ModelTypeConfigurator.UpdateDatasource(module.ModelType.ModelTypeConfigurator.GetDatasource()); } if (module != null) { if (module.Datasource != null) { cmbDatasource.SelectedIndex = GetCmbSelectedDatasourceSelectedIndex(module.Datasource.TableName); } ModelType modelType = (ModelType)cmbModelType.SelectedItem; //modelType.Datasource = module.ModelType.Datasource; //if(module.ModelType != null) if (modelType != null) { modelType.Datasource = module.Datasource; } } }
public static string GenerateCodeForModule(CodeGeneratorProject Project, CodeGeneratorModule module, string templateCode, bool isProjectTemplate = false) { templateCode = templateCode.Replace("{CURRENTDIRECTORY}", System.IO.Directory.GetCurrentDirectory()); string tmpCodeFile = System.IO.Directory.GetCurrentDirectory() + "/tmp.source.aspx"; File.WriteAllText(tmpCodeFile, templateCode); AspCompiler.Template template = new AspCompiler.Template(tmpCodeFile); AspCompiler.TemplateParameters parameters = new AspCompiler.TemplateParameters(); AspCompiler.TemplateParameter param = new AspCompiler.TemplateParameter(typeof(CodeGeneratorProject), "Project", Project); parameters.Add(param); param = new AspCompiler.TemplateParameter(typeof(CodeGeneratorModule), "Module", module); parameters.Add(param); string currentPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); string[] assemblies = new string[4]; assemblies[0] = currentPath + "\\Com.Wiseape.Utility.dll"; assemblies[1] = currentPath + "\\Com.Wiseape.UtilityApp.CodeGenerator.dll"; assemblies[2] = currentPath + "\\AspCompiler.dll"; assemblies[3] = currentPath + "\\Com.Wiseape.UtilityApp.CodeGenerator.Helper.dll"; string[] namespaces = new string[7]; namespaces[0] = "System.Collections.Generic"; namespaces[1] = "System.Collections"; namespaces[2] = "Com.Wiseape.UtilityApp.CodeGenerator.Model"; namespaces[3] = "Com.Wiseape.UtilityApp.CodeGenerator.Business"; namespaces[4] = "Com.Wiseape.Utility"; namespaces[5] = "AspCompiler"; namespaces[6] = "Com.Wiseape.UtilityApp.CodeGenerator.Helper"; //namespaces[4] = "System.Data"; template.Compile(assemblies, namespaces, parameters); string tmpFile = System.IO.Directory.GetCurrentDirectory() + "/tmp.result"; template.Execute(tmpFile); string content = System.IO.File.ReadAllText(tmpFile); return(content); }
private void FormCodeTemplate_OnGenerateDoneEvent(CodeGeneratorModule module) { DisplayInfo("Done!"); }