コード例 #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            Scaffolding scaffold = new Scaffolding();

            if (!string.IsNullOrEmpty(txtOutput.Text))
                scaffold.OutPutAddress = txtOutput.Text;

            if (!string.IsNullOrEmpty(txtNameSpace.Text))
                scaffold.NameSpace = txtNameSpace.Text;

            if (scaffold.Pars(txtModel.Text))
            {
                MessageBox.Show("Complete!");
            }
        }
コード例 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            Scaffolding scaffold = new Scaffolding();

            if (!string.IsNullOrEmpty(txtOutput.Text))
            {
                scaffold.OutPutAddress = txtOutput.Text;
            }

            if (!string.IsNullOrEmpty(txtNameSpace.Text))
            {
                scaffold.NameSpace = txtNameSpace.Text;
            }

            if (scaffold.Pars(txtModel.Text))
            {
                MessageBox.Show("Complete!");
            }
        }
コード例 #3
0
        public Scaffolding.struc[] GenerateClass(Scaffolding.struc[] forms, string entitiyName)
        {
            string[] res = new string[forms.Length];
            for (int i = 0; i < forms.Length; i++)
            {

                var ass = forms[i].Ass.ToList();

                string tCode = "";
                string temp = template;
                string temp2 = "";

                //set FormName
                temp = temp.Replace("##FormName##", forms[i].Fname).Replace("##NameSpace##", forms[i].NameSpace == null ? "Generated" : forms[i].NameSpace);
                temp = temp.Replace("//##PublicCode##", database.Replace("##EntitiyName##", entitiyName) + Environment.NewLine + "//##PublicCode##");

                foreach (var t in ass)
                {
                    tCode = "cmb" + t.Dependent + ".DataSource = "
                       + databaseObject.Replace("##EntitiyName##", "db")
                       .Replace("##ObjectName##", t.PrincipalTableName)
                       + ".ToList();";

                    temp = temp.Replace("//##Code##", tCode + Environment.NewLine + "//##Code##");

                    tCode = "cmb" + t.Dependent + ".ValueMember = " + '"' + t.Principal + '"' + ';';
                    temp = temp.Replace("//##Code##", tCode + Environment.NewLine + "//##Code##");

                    var tt = forms.Where(p => p.TableName == t.PrincipalTableName).FirstOrDefault().Props.Select(p => p.Name).ElementAt(1);
                    tCode = "cmb" + t.Dependent + ".DisplayMember = " + '"' + tt + '"' + ';';
                    temp = temp.Replace("//##Code##", tCode + Environment.NewLine + "//##Code##");

                    temp2 += ".Include(p=>p."
                    + t.PrincipalWithoutRoleTableName
                    + ")";

                }

                //.......................GridView.........................................
                //.......................................................................

                tCode = "grid" + forms[i].Fname + ".DataSource = "
                + databaseObject.Replace("##EntitiyName##", "db")
                .Replace("##ObjectName##", forms[i].ModelName)
                + temp2
                + ".ToList();";
                temp = temp.Replace("//##Code##", tCode + Environment.NewLine + "//##Code##");

                //.......................................................................
                //.......................BtnInsert.........................................
                //.......................................................................

                //var ass = forms[i].Ass.Select(p => p.Dependent).ToList();
                //var prop = forms[i].Props.Select(p=>p.Name).Except(ass).ToList();

                string convert;

                tCode = @"db.#ModelName#.Add(new #TableName# { #modelObject# });
db.SaveChanges();";
                tCode = tCode.Replace("#TableName#", forms[i].TableName);
                tCode = tCode.Replace("#ModelName#", forms[i].ModelName);
                for (int k = 0; k < forms[i].Props.Count; k++)
                {
                    convert = Convertor(forms[i].Props.Select(p => p.Type).ElementAt(k));

                    string prefix = GetPrefix(forms[i].Props.Select(p => p.Type).ElementAt(k));
                    string postfix = GetPostfix(forms[i].Props.Select(p => p.Type).ElementAt(k));

                    var tKey = forms[i].Props.Select(p => p.Name).ElementAt(k);
                    var tAss = forms[i].Ass.Where(p => p.Dependent == tKey).FirstOrDefault();

                    if (string.IsNullOrEmpty(convert) && forms[i].Props.Select(p => p.StoreGeneratedPattern).ElementAt(k) != "Identity")
                    {
                        tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p => p.Name).ElementAt(k) + " = " + (tAss == null ? prefix : "cmb") + forms[i].Props.Select(p => p.Name).ElementAt(k) + (tAss == null ? postfix : ".SelectedValue") + ",#modelObject#");
                    }

                    if (!string.IsNullOrEmpty(convert) && forms[i].Props.Select(p => p.StoreGeneratedPattern).ElementAt(k) != "Identity")
                    {
                        tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p => p.Name).ElementAt(k) + " = " + convert + (tAss == null ? prefix : "cmb") + forms[i].Props.Select(p => p.Name).ElementAt(k) + (tAss == null ? postfix : ".SelectedValue") + ")" + ",#modelObject#");
                        //tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p=>p.Name).ElementAt(k) + " = " + convert + "txt" + forms[i].Props.Select(p=>p.Name).ElementAt(k) + ".Text" + ")" + ",#modelObject#");
                    }
                }
                tCode = tCode.Replace(",#modelObject#", "");

                temp = temp.Replace("//##BtnInsertCode##", tCode + ";" + Environment.NewLine);

                //.......................................................................
                //.......................................................................
                //.......................BtnUpdate.........................................
                //.......................................................................

                tCode = @"  var obj = new #TableName#{ #modelObject# };
                            db.Entry(obj).State = EntityState.Modified;
                            db.SaveChanges()";

                tCode = tCode.Replace("#TableName#", forms[i].TableName);

                for (int k = 0; k < forms[i].Props.Count; k++)
                {
                    //tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p=>p.Name).ElementAt(k) + " = txt" + forms[i].Props.Select(p=>p.Name).ElementAt(k) + ".Text" + ",#modelObject#");

                    convert = Convertor(forms[i].Props.Select(p => p.Type).ElementAt(k));
                    string prefix = GetPrefix(forms[i].Props.Select(p => p.Type).ElementAt(k));
                    string postfix = GetPostfix(forms[i].Props.Select(p => p.Type).ElementAt(k));

                    var tKey = forms[i].Props.Select(p => p.Name).ElementAt(k);
                    var tAss = forms[i].Ass.Where(p => p.Dependent == tKey).FirstOrDefault();

                    if (string.IsNullOrEmpty(convert))
                        tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p => p.Name).ElementAt(k) + " = " + (tAss == null ? prefix : "cmb") + forms[i].Props.Select(p => p.Name).ElementAt(k) + (tAss == null ? postfix : ".SelectedValue") + ",#modelObject#");

                    if (!string.IsNullOrEmpty(convert))
                        tCode = tCode.Replace("#modelObject#", forms[i].Props.Select(p => p.Name).ElementAt(k) + " = " + convert + (tAss == null ? prefix : "cmb") + forms[i].Props.Select(p => p.Name).ElementAt(k) + (tAss == null ? postfix : ".SelectedValue") + ")" + ",#modelObject#");

                }

                tCode = tCode.Replace(",#modelObject#", "");

                temp = temp.Replace("//##BtnUpdateCode##", tCode + ";" + Environment.NewLine);

                //.......................................................................

                forms[i].Code = temp.Replace("//##PublicCode##", "").Replace("//##Code##", "").Replace("//##BtnDeleteCode##","");
                res[i] = temp;
            }

            return forms;
        }
コード例 #4
0
        private string CreateGridView(string temp, Scaffolding.struc forms)
        {

            //Define GridView
            //.....................................................................................

            temp = temp.Replace("//##Components0##", addNewGridCtr.Replace("#val#", "grid" + forms.Fname) + Environment.NewLine + "//##Components0##");

            temp = temp.Replace("//##Components0##", addGridOption.Replace("#nameVal#", "grid" + forms.Fname)
           .Replace("#x#", x.ToString())
           .Replace("#y#", y.ToString())
            + ";" + Environment.NewLine + "//##Components0##");

            UpdateSize(150, ref x, ref y);

            temp = temp.Replace("//##DefComponents##", defGridCtr + "grid" + forms.Fname + ";" + Environment.NewLine + "//##DefComponents##");

            temp = temp.Replace("//##Components##", addCtr + "grid" + forms.Fname + ");" + Environment.NewLine + "//##Components##");

            //.....................................................................................

            //Define Btn
            //.....................................................................................

            temp = temp.Replace("//##Components0##", addNewBtnCtr.Replace("#val#", "btnInsert") + Environment.NewLine + "//##Components0##");

            temp = temp.Replace("//##Components0##", addBtnOption.Replace("#nameVal#", "btnInsert")
           .Replace("#x#", x.ToString())
           .Replace("#y#", y.ToString())
           .Replace("#textVal#", "Insert")
            + ";" + Environment.NewLine + "//##Components0##");

            UpdateSize(36, ref x, ref y);

            temp = temp.Replace("//##DefComponents##", defBtnCtr + "btnInsert" + ";" + Environment.NewLine + "//##DefComponents##");

            temp = temp.Replace("//##Components##", addCtr + "btnInsert" + ");" + Environment.NewLine + "//##Components##");

            //.....................................................................................
            //.....................................................................................

            temp = temp.Replace("//##Components0##", addNewBtnCtr.Replace("#val#", "btnUpdate") + Environment.NewLine + "//##Components0##");

            temp = temp.Replace("//##Components0##", addBtnOption.Replace("#nameVal#", "btnUpdate")
           .Replace("#x#", (x + 50).ToString())
           .Replace("#y#", y.ToString())
           .Replace("#textVal#", "Update")
            + ";" + Environment.NewLine + "//##Components0##");

            UpdateSize(36, ref x, ref y);

            temp = temp.Replace("//##DefComponents##", defBtnCtr + "btnUpdate" + ";" + Environment.NewLine + "//##DefComponents##");

            temp = temp.Replace("//##Components##", addCtr + "btnUpdate" + ");" + Environment.NewLine + "//##Components##");

            //.....................................................................................
            //.....................................................................................

            temp = temp.Replace("//##Components0##", addNewBtnCtr.Replace("#val#", "btnDelete") + Environment.NewLine + "//##Components0##");

            temp = temp.Replace("//##Components0##", addBtnOption.Replace("#nameVal#", "btnDelete")
           .Replace("#x#", (x + 100).ToString())
           .Replace("#y#", y.ToString())
           .Replace("#textVal#", "Delete")
            + ";" + Environment.NewLine + "//##Components0##");

            UpdateSize(36, ref x, ref y);

            temp = temp.Replace("//##DefComponents##", defBtnCtr + "btnDelete" + ";" + Environment.NewLine + "//##DefComponents##");

            temp = temp.Replace("//##Components##", addCtr + "btnDelete" + ");" + Environment.NewLine + "//##Components##");

            //.....................................................................................
            //.....................................................................................


            return temp;
        }
コード例 #5
0
        public Scaffolding.struc[] GenerateFormDesign(Scaffolding.struc[] forms)
        {

            string[] res = new string[forms.Length];
            for (int i = 0; i < forms.Length; i++)
            {

                var ass = forms[i].Ass.Select(p => p.Dependent).ToList();
                var bit = forms[i].Props.Where(p => p.Type == "bit").Select(p => p.Name).Except(ass).ToList();
                var prop = forms[i].Props.Select(p => p.Name).Except(ass).Except(bit).ToList();


                string temp = temp0;

                //set nameSpace
                temp = temp.Replace("##FormName##", forms[i].Fname).Replace("##namespace##", forms[i].NameSpace == null ? "Generated" : forms[i].NameSpace);
                //GenerateControl
                temp = GenerateControl(temp, ass, ContoleType.Combo);
                temp = GenerateControl(temp, prop, ContoleType.Text);
                temp = GenerateControl(temp, bit, ContoleType.CheckBox);
                //Create GridView For Each Form
                temp = CreateGridView(temp, forms[i]);
                //set FormSize
                temp = temp.Replace("##Formx##", formx.ToString()).Replace("##Formy##", ((y + 1000).ToString()));

                res[i] = temp;
                forms[i].Design = temp;
            }

            return forms;
        }