示例#1
0
        /// <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));
        }
示例#6
0
        /// <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$")));
             }
         }
     }
 }