/// <summary> /// 确定事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOk_Click(object sender, EventArgs e) { KeywordContainer.RegistSource("$ProjectName$", ProjectName); KeywordContainer.RegistSource("$Infrastructure$", Infrastructure); KeywordContainer.RegistSource("$IApplication$", IApplica); KeywordContainer.RegistSource("$Application$", Applica); KeywordContainer.RegistSource("$Data2Object$", Data2Object); KeywordContainer.RegistSource("$DomainContext$", DomainContxt); KeywordContainer.RegistSource("$DomainEntity$", DomainEntity); KeywordContainer.RegistSource("$Service$", Service); PrjCmdId.SetProjectName(PrjCmdId.Infrastructure, Infrastructure); PrjCmdId.SetProjectName(PrjCmdId.IApplication, IApplica); PrjCmdId.SetProjectName(PrjCmdId.Application, Applica); PrjCmdId.SetProjectName(PrjCmdId.Data2Object, Data2Object); PrjCmdId.SetProjectName(PrjCmdId.Service, Service); PrjCmdId.SetProjectName(PrjCmdId.DomainContext, DomainContxt); PrjCmdId.SetProjectName(PrjCmdId.DomainEntity, DomainEntity); if (this.chkService.Checked) { KeywordContainer.RegistSource("$IsPartService$", "true"); } CodeFirstTools.TableFilterInclude = regex; CodeFirstTools.DbContextName = txtContextName.Text; KeywordContainer.RegistSource("$ContextName$", txtContextName.Text); this.DialogResult = DialogResult.OK; }
/// <summary> /// 收集相关信息 /// </summary> /// <param name="guid"></param> /// <param name="allowNew">是否需要创建项目</param> /// <returns></returns> public override object[] GetGenerateInfo(string guid, bool allowNew) { //找到项目源 string pid = CdeCmdId.BelongId(guid); Project prjt = TemplateContainer.Resove <Project>(pid); if (prjt == null && allowNew) { string pname = PrjCmdId.FindProjectName(pid); if (pid != "06D57C23-4D51-430D-A8E6-9A19F38390E3") { prjt = CommonContainer.CommonServer.AddClassLibrary(pname); } else { prjt = CommonContainer.CommonServer.AddWebService(pname); } TemplateContainer.Regist(pid, prjt); } string templatePath = Path.Combine(CommonContainer.RootPath, TemplateContainer.Resove <string>(guid)); return(new object[] { guid, pid, prjt, templatePath }); }
/// <summary> /// 根据配置文件来加载关键字信息 /// </summary> /// <param name="xmlPath">xml文件路径</param> public static void LoadContainer(string xmlPath) { //string xmlPath = Path.Combine(CommonContainer.SolutionPath, Resource.ConfigName); Dictionary <string, string> models = xmlManager.ReadModel(xmlPath); foreach (var item in models) { RegistSource(item.Key, item.Value); } PrjCmdId.SetProjectName(PrjCmdId.Infrastructure, KeywordContainer.Resove("$Infrastructure$")); PrjCmdId.SetProjectName(PrjCmdId.IApplication, KeywordContainer.Resove("$IApplication$")); PrjCmdId.SetProjectName(PrjCmdId.Application, KeywordContainer.Resove("$Application$")); PrjCmdId.SetProjectName(PrjCmdId.Data2Object, KeywordContainer.Resove("$Data2Object$")); PrjCmdId.SetProjectName(PrjCmdId.Service, KeywordContainer.Resove("$DomainEntity$")); PrjCmdId.SetProjectName(PrjCmdId.DomainContext, KeywordContainer.Resove("$DomainContext$")); PrjCmdId.SetProjectName(PrjCmdId.DomainEntity, KeywordContainer.Resove("$Service$")); }
void context_HandledOne(object sender, EventHandledArg arg) { int currentCount = _currentTotalCount - arg.CurrentCount; int percent = (int)(_totalPercent * (_processCurrentCount / _processTotalCount) * (currentCount / _currentTotalCount) * 100); _work.ReportProgress(percent, string.Format(Properties.Resources.BeginReference, PrjCmdId.FindProjectName(arg.HandledId))); }
void context_GeneratedOne(object sender, EventGeneratedArg arg) { int currentCount = _currentTotalCount - arg.CurrentCount; int percent = (int)(_totalPercent * (_processCurrentCount / _processTotalCount) * (currentCount / _currentTotalCount) * 100); _work.ReportProgress(percent, string.Format(Properties.Resources.EndGenerate, PrjCmdId.FindProjectName(arg.GeneratedId), arg.CurrentEntity)); }
/// <summary> /// 执行上下文 /// </summary> public void Commit() { while (_rEntityQueue.Count() > 0) { ReferenceEntity queue = _rEntityQueue.Dequeue(); try { Project proj = TemplateContainer.Resove <Project>(queue.ProjectId); List <string> refers = queue.ReferenceCollection; if (refers != null && refers.Count > 0) { refers.ForEach(t => { proj.AddReferByKey(t); }); } } catch (Exception ex) { MsgBoxHelp.ShowError(string.Format(Properties.Resource.ReferError, PrjCmdId.FindProjectName(queue.ProjectId)), ex); } finally { if (HandledOne != null) { HandledOne(this, new EventHandledArg(queue.ProjectId, Count)); } } } }
/// <summary> /// 开始执行上下文中所有的内容 /// </summary> public void Commit() { while (_gEntityQueue.Count() > 0) { GenerateEntity queue = _gEntityQueue.Dequeue(); try { queue.GenerateEngin.Generate(queue.GenerateId, queue.GenerateArgment, queue.GenerateContainer); } catch (Exception ex) { MsgBoxHelp.ShowError(string.Format(Properties.Resource.GenerateError, PrjCmdId.FindProjectName(queue.GenerateId)), ex); } finally { if (GeneratedOne != null) { GeneratedOne(this, new EventGeneratedArg(queue.GenerateId, Count, KeywordContainer.Resove("$Entity$"))); } } } }