Example #1
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;

            if (e.ColumnIndex == 5)
            {
                //删除
                FileOprateHelp.RemoveKeyComment(dataGridView1[0, rowIndex].Value.ToString());
                ModelContainer.Remove(dataGridView1[0, rowIndex].Value.ToString());
                dataGridView1.Rows.RemoveAt(rowIndex);
                if (rowIndex == dataGridView1.Rows.Count - 1)
                {
                    rowIndex--;
                }
            }
            if (dataGridView1[0, rowIndex].Value == null)
            {
                return;
            }
            this.textBox1.Text = dataGridView1[0, rowIndex].Value.ToString();
            this.textBox2.Text = dataGridView1[1, rowIndex].Value == null ? String.Empty : dataGridView1[1, rowIndex].Value.ToString();
            _lock = true;
            this.textBox3.Text = dataGridView1[2, rowIndex].Value == null ? String.Empty : dataGridView1[2, rowIndex].Value.ToString();
            oldText            = this.textBox3.Text;
            _lock   = false;
            operate = 0;
            SetTextEnable(int.Parse(dataGridView1[4, rowIndex].Value.ToString()) > 0);
        }
Example #2
0
        private static void Confirm <T>(string sourceName, T sourceType)
        {
            string targetPath = Path.Combine(Properties.Resource.RootPath, sourceName);

            if (!string.IsNullOrEmpty(targetPath) && File.Exists(targetPath))
            {
                return;
            }

            if (sourceType.GetType() == typeof(string))
            {
                FileOprateHelp.SaveTextFile(sourceType.ToString(), targetPath);
            }

            else if (sourceType.GetType() == typeof(Bitmap))
            {
                Bitmap bitmap = sourceType as Bitmap;
                bitmap.Save(targetPath, System.Drawing.Imaging.ImageFormat.Jpeg);
            }

            else
            {
                byte[] buffer = sourceType as byte[];
                File.WriteAllBytes(targetPath, buffer);
            }
        }
        /// <summary>
        /// 设置Log4net日志管理工具开始工作
        /// </summary>
        /// <param name="project"></param>
        public static void SetLog4netWatch(this Project project)
        {
            string        assemblyInfoPath = Path.Combine(project.GetDirectory(), "Properties", "AssemblyInfo.cs");
            StringBuilder build1           = FileOprateHelp.ReadTextFile(assemblyInfoPath);

            build1.AppendLine("[assembly: log4net.Config.XmlConfigurator(Watch = true)]");//日志监视
            FileOprateHelp.SaveTextFile(build1.ToString(), assemblyInfoPath);
        }
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (_isModified == true)
     {
         FileOprateHelp.SaveFile(rcBoxContect.Text, _cunrrentModel.Value);
         MsgBoxHelp.ShowInfo("保存成功!");
         btnSave.Enabled = false;
         _isModified     = false;
     }
 }
 private void btnwriteProject_Click(object sender, EventArgs e)
 {
     if (_isModified == true)
     {
         FileOprateHelp.SaveFile(rcBoxContect.Text, _cunrrentModel.Value);
         btnSave.Enabled = false;
         _isModified     = false;
     }
     ModelManageLogic.WriteModel(_cunrrentModel.Text);
     //this.Close();
 }
Example #6
0
        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                //获取仓储内复杂参数
                string        fileForld = ProjectContainer.DomainEntity.ToDirectory();
                string        filePath  = Directory.GetFiles(fileForld, _repositoy + ".cs", SearchOption.AllDirectories).FirstOrDefault();
                List <string> specials  = FileOprateHelp.ReadFileFilter(filePath, _entitys);

                comboBox1.Items.Clear();
                comboBox1.Items.AddRange(specials.ToArray());
            }
        }
        private void lbl_Click(object sender, EventArgs e)
        {
            Label lbl = (Label)sender;
            ModelManageArgment obj = lbl.Tag as ModelManageArgment;

            if (_isModified)
            {
                DialogResult dialog = MessageBox.Show("当前模型已经修改,是否保存?", "Entity2Code", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);
                if (dialog == DialogResult.Cancel)
                {
                    return;
                }
                else if (dialog == DialogResult.Yes)
                {
                    FileOprateHelp.SaveFile(rcBoxContect.Text, _cunrrentModel.Value);
                    //保存
                }
                else
                {
                    //继续
                }
            }
            SetUnSelect();
            lbl.BackColor  = Color.FromArgb(19, 130, 206);
            lbl.ForeColor  = Color.White;
            obj.isSelected = true;
            lbl.Tag        = obj;

            _cunrrentModel = obj;

            _isLocked         = false;
            _oldText          = manger.GetModelContent(obj.Value);
            rcBoxContect.Text = _oldText;
            SetRichColor();
            string[] strs   = new string[] { "Application", "IApplication", "Service", "IService", "Map" };
            bool     enable = strs.Contains(System.IO.Path.GetFileNameWithoutExtension(_cunrrentModel.Text));

            rcBoxContect.ReadOnly   = !enable;
            btnSave.Enabled         = enable;
            btnwriteProject.Enabled = enable;
            _isLocked = true;
        }
Example #8
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(textBox1.Text) == true)
     {
         MsgBoxHelp.ShowWorning("关键字名称不能为空!");
         return;
     }
     if (operate == 1)
     {
         FileOprateHelp.SetKeyComment(textBox1.Text, textBox3.Text, textBox2.Text);
         //IniDgv(dataGridView1.SelectedRows[0].Index);
         MsgBoxHelp.ShowInfo("修改成功!");
     }
     else if (operate == 2)
     {
         FileOprateHelp.SetKeyComment(textBox1.Text, textBox3.Text, textBox2.Text);
         // IniDgv(dataGridView1.Rows.Count);
         MsgBoxHelp.ShowInfo("插入成功!");
     }
     IniDgv();
 }
Example #9
0
        public static void CreateFrame(bool overWrite)
        {
            if (ProjectContainer.Service == null)
            {
                ProjectContainer.Service = SolutionCommon.Dte.AddWebService(SolutionCommon.Service, true);
            }

            if (ProjectContainer.Service.ProjectItems.Find("web.config") != null)
            {
                ProjectContainer.Service.ProjectItems.Find("web.config").Delete();
            }
            if (SolutionCommon.infrastryctType == InfrastructType.DbFirst)
            {
                using (StreamReader reader = new StreamReader(Path.Combine(ProjectContainer.Infrastructure.ToDirectory(), "app.config")))
                {
                    while (reader.Peek() != -1)
                    {
                        string temp = reader.ReadLine();
                        if (temp.IndexOf(ModelContainer.Resolve("$ContextName$")) != -1)
                        {
                            ModelContainer.Regist("$ConnectionString$", temp, "数据库连接字符串");
                            break;
                        }
                    }
                }
            }
            else
            {
                string str = string.Empty;
                if (CodeFirstTools.DataType == "MicrosoftSqlServer")
                {
                    str = "<add name=\"" + CodeFirstTools.DbContextName + "\" providerName=\"" + CodeFirstTools.ProviderName + "\" connectionString=\"" + CodeFirstTools.ConnectionString + ";MultipleActiveResultSets=True;Pooling=True;\"/>";
                }
                else
                {
                    str = "<add name=\"" + CodeFirstTools.DbContextName + "\" providerName=\"Oracle.DataAccess.Client\" connectionString=\"" + CodeFirstTools.ConnectionString + "\"/>";
                }
                ModelContainer.Regist("$ConnectionString$", str, "数据库连接字符串");
            }

            if (SolutionCommon.infrastryctType == InfrastructType.CodeFirst)
            {
                ModelContainer.Regist("$DBSchemaApp$", string.Format("<add key=\"DBSchema\" value=\"{0}\"/>", CodeFirstTools.SchemaName), "数据库命名空间");
            }
            else
            {
                ModelContainer.Regist("$DBSchemaApp$", "", "数据库命名空间");
            }
            CodeStaticManager staticManager = new CodeStaticManager(ConstructType.WebConfig);

            staticManager.BuildTaget = new StringCodeArgment()
            {
                Encode = Encoding.UTF8, Name = "web.config", Target = ProjectContainer.Service
            };
            staticManager.CreateCode();

            //ServiceBehinde
            string behindCode = string.Format("<%@ ServiceHost Language=\"C#\" Debug=\"true\" Service=\"{1}.{0}Service\" CodeBehind=\"{0}Service.svc.cs\" %>", SolutionCommon.ProjectName, SolutionCommon.Service);

            ProjectContainer.Service.AddFromFileString(behindCode, SolutionCommon.ProjectName + "Service.svc", Encoding.Default);


            //AttachDataSignBehavior
            staticManager            = new CodeStaticManager(ConstructType.AttachDataSignBehavior);
            staticManager.BuildTaget = new StringCodeArgment()
            {
                Folder = "InstanceProviders", Name = "AttachDataSignBehavior.cs", Target = ProjectContainer.Service
            };
            staticManager.CreateCode();

            //UnityInstanceProvider
            staticManager            = new CodeStaticManager(ConstructType.UnityInstanceProvider);
            staticManager.BuildTaget = new StringCodeArgment()
            {
                Folder = "InstanceProviders", Name = "UnityInstanceProvider.cs", Target = ProjectContainer.Service
            };
            staticManager.CreateCode();

            //UnityInstanceProviderServiceBehavior
            staticManager            = new CodeStaticManager(ConstructType.UnityInstanceProviderServiceBehavior);
            staticManager.BuildTaget = new StringCodeArgment()
            {
                Folder = "InstanceProviders", Name = "UnityInstanceProviderServiceBehavior.cs", Target = ProjectContainer.Service
            };
            staticManager.CreateCode();

            //AssemblyInfo
            string        assemblyInfoPath = Path.Combine(ProjectContainer.Service.ToDirectory(), "Properties", "AssemblyInfo.cs");
            StringBuilder build            = FileOprateHelp.ReadFile(assemblyInfoPath);

            build.AppendLine("[assembly: log4net.Config.XmlConfigurator(Watch = true)]");//日志监视
            FileOprateHelp.SaveFile(build.ToString(), assemblyInfoPath);

            SolutionCommon.Dte.SetStartup(ProjectContainer.Service);
        }
Example #10
0
        private void btnInsert_Click(object sender, EventArgs e)
        {
            //获取所有参数
            MethodCommon.MethodName = txtName.Text;
            MethodCommon.Organize   = txtCompany.Text;
            MethodCommon.Author     = txtAuthor.Text;
            MethodCommon.Return     = cmbReturn.Text;
            MethodCommon.Comment    = txtComment.Text;
            List <ReferArg> refs = new List <ReferArg>();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (row.Index < dataGridView1.Rows.Count - 1)
                {
                    ReferArg temp = new ReferArg();
                    temp.Comment = row.Cells[Comment.Name].Value == null ? string.Empty : row.Cells[Comment.Name].Value.ToString();
                    temp.Name    = row.Cells[VarName.Name].Value == null ? string.Empty : row.Cells[VarName.Name].Value.ToString();
                    temp.IsOut   = row.Cells[IsOut.Name].Value == null ? false : (row.Cells[IsOut.Name].Value.ToString() == "1" ? true : false);
                    temp.VType   = row.Cells[VarType.Name].Value == null ? string.Empty : row.Cells[VarType.Name].Value.ToString();

                    refs.Add(temp);
                }
            }
            MethodCommon.InnerArgs = refs;

            StringBuilder build1 = new StringBuilder();
            StringBuilder build2 = new StringBuilder();
            StringBuilder build3 = new StringBuilder();

            foreach (ReferArg item in refs)
            {
                build1.AppendLine(string.Format("/// <param name='{0}'>{1}</param>", item.Name, item.Comment));
                build2.Append(string.Format("{0} {1},", item.VType, item.Name));
                build3.Append(item.Name + ",");
            }

            ModelContainer.Regist("$ParamComment$", build1.ToString());
            ModelContainer.Regist("$Param$", build2.ToString().Remove(build2.ToString().Length - 1));
            ModelContainer.Regist("$InnerParam$", build3.ToString().Remove(build3.ToString().Length - 1));

            string returnComment = string.Empty;
            string needReturn    = string.Empty;
            string needReturn2   = string.Empty;

            if (MethodCommon.Return != "void")
            {
                returnComment = string.Format(" /// <returns>{0}</returns>", txtReComment.Text);
                needReturn    = "return";
                needReturn2   = "";
            }


            ModelContainer.Regist("$Comment$", MethodCommon.Comment, "方法描述");
            ModelContainer.Regist("$Return$", MethodCommon.Return, "方法返回类型");
            ModelContainer.Regist("$Author$", MethodCommon.Author, "方法作者");
            ModelContainer.Regist("$Organize$", MethodCommon.Organize, "方法机构");
            ModelContainer.Regist("$MethodName$", MethodCommon.MethodName, "方法名称");
            ModelContainer.Regist("$ReturnComment$", returnComment);
            ModelContainer.Regist("$NeedReturn$", needReturn);
            ModelContainer.Regist("$NeedReturn2$", needReturn2);

            TemplateEntity template = new TemplateEntity();

            template.Entity   = _selectEntity.Entity;
            template.Data2Obj = _selectEntity.Data2Obj.Substring(0, _selectEntity.Data2Obj.Length - 3);

            CodeAppendManager manager = new CodeAppendManager(ConstructType.MethodApp, template);

            build1.Clear();
            manager.BuildTaget = build1;
            manager.CreateCode();

            FileOprateHelp.WriteMethod(ProjectContainer.Application, build1.ToString(), template, template.Data2Obj + "App");

            CodeAppendManager manager1 = new CodeAppendManager(ConstructType.MethodIApp, template);

            build1.Clear();
            manager1.BuildTaget = build1;
            manager1.CreateCode();

            FileOprateHelp.WriteMethod(ProjectContainer.IApplication, build1.ToString(), template, "I" + template.Data2Obj + "App");

            CodeAppendManager manager2 = new CodeAppendManager(ConstructType.MethodServer, template);

            build1.Clear();
            manager2.BuildTaget = build1;
            manager2.CreateCode();

            FileOprateHelp.WriteMethod(ProjectContainer.Service, build1.ToString(), template, SolutionCommon.ProjectName + "Service.svc");

            CodeAppendManager manager3 = new CodeAppendManager(ConstructType.MethodIServer, template);

            build1.Clear();
            manager3.BuildTaget = build1;
            manager3.CreateCode();

            FileOprateHelp.WriteMethod(ProjectContainer.Service, build1.ToString(), template, "I" + SolutionCommon.ProjectName + "Service");

            this.Close();
        }
Example #11
0
 /// <summary>
 /// 构造函数
 /// </summary>
 static ModelContainer()
 {
     ConfigContainer();
     _models.AddRange(FileOprateHelp.ReadKeyComments());
 }