Пример #1
0
        private void TaoLop(string TableName, DataTable dtbProperties)
        {
            string Path    = Program.ThuMucGoc;
            string PrjName = Path.Substring(Path.LastIndexOf("\\") + 1);

            // Tao file Solution
            string[] arrLines = File.ReadAllLines("Templates\\Entity.cs.Template.txt");
            for (int i = 0; i < arrLines.Length; i++)
            {
                if (arrLines[i].IndexOf("<@Prj@>") >= 0)
                {
                    arrLines[i] = arrLines[i].Replace("<@Prj@>", PrjName);
                }
                if (arrLines[i].IndexOf("<@Class@>") >= 0)
                {
                    arrLines[i] = arrLines[i].Replace("<@Class@>", TableName);
                }
                int index = arrLines[i].IndexOf("<@Properties@>");
                if (index >= 0)
                {
                    string line = "\n" + arrLines[i].Remove(index);
                    arrLines[i] = "";
                    // Sinh biến thuộc tính
                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        arrLines[i] = arrLines[i] + line + "private " + oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) + " m" + dtbProperties.Rows[j]["name"].ToString() + ";";
                    }
                    arrLines[i] = arrLines[i] + "\n";

                    // Sinh các biến tên các trường trong bảng
                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        arrLines[i] = arrLines[i] + line + "public string " + "str" + dtbProperties.Rows[j]["name"].ToString() + " = " + '"' + dtbProperties.Rows[j]["name"].ToString() + '"' + ";";
                    }
                    arrLines[i] = arrLines[i] + "\n";

                    // Sinh hàm khởi tạo
                    arrLines[i] = arrLines[i] + line + "public " + TableName + "Info()";
                    arrLines[i] = arrLines[i] + line + "{ }\n";

                    // Sinh các property
                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        arrLines[i] = arrLines[i] + line + "public " + oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) + " " + dtbProperties.Rows[j]["name"].ToString() + "{";
                        arrLines[i] = arrLines[i] + line + "\tset{ m" + dtbProperties.Rows[j]["name"].ToString() + " = value;}";
                        arrLines[i] = arrLines[i] + line + "\tget{ return m" + dtbProperties.Rows[j]["name"].ToString() + ";}";
                        arrLines[i] = arrLines[i] + line + "}";
                    }
                }
            }
            File.WriteAllLines(Program.ThuMucGoc + "\\" + PrjName + ".Entity\\" + TableName + "Info.cs", arrLines);
        }
Пример #2
0
        private void TaoLop(string TableName, DataTable dtbProperties, DataTable dtbKeyProperties)
        {
            string Path    = Program.ThuMucGoc;
            string PrjName = Path.Substring(Path.LastIndexOf("\\") + 1);

            // Tao file Solution
            string[] arrLines = File.ReadAllLines("Templates\\Business.cs.Template.txt");
            for (int i = 0; i < arrLines.Length; i++)
            {
                if (arrLines[i].IndexOf("<@Prj@>") >= 0)
                {
                    arrLines[i] = arrLines[i].Replace("<@Prj@>", PrjName);
                }
                if (arrLines[i].IndexOf("<@Class@>") >= 0)
                {
                    arrLines[i] = arrLines[i].Replace("<@Class@>", TableName);
                }
                int index = arrLines[i].IndexOf("<@Properties@>");
                if (index >= 0)
                {
                    string line = "\n" + arrLines[i].Remove(index);
                    arrLines[i] = "";

                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        if (oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) == "string")
                        {
                            arrLines[i] = arrLines[i] + line + "o" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = dtb.Rows[i][\"" + dtbProperties.Rows[j]["Name"].ToString() + "\"].ToString();";
                        }
                        else if (oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) == "byte[]")
                        {
                            arrLines[i] = arrLines[i] + line + "o" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = " + "(byte[])(dtb.Rows[i][\"" + dtbProperties.Rows[j]["Name"].ToString() + "\"]);";
                        }
                        else
                        {
                            arrLines[i] = arrLines[i] + line + "o" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = " + oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) + ".Parse(dtb.Rows[i][\"" + dtbProperties.Rows[j]["Name"].ToString() + "\"].ToString());";
                        }
                    }
                }

                int idxToRow = arrLines[i].IndexOf("<@ToDataRow@>");
                if (idxToRow >= 0)
                {
                    string line = "\n" + arrLines[i].Remove(idxToRow);
                    arrLines[i] = "";

                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        arrLines[i] = arrLines[i] + line + "dr[p" + TableName + "Info.str" + dtbProperties.Rows[j]["name"].ToString() + "] = p" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + ";";
                    }
                }

                int idxToInfo = arrLines[i].IndexOf("<@ToInfo@>");
                if (idxToInfo >= 0)
                {
                    string line = "\n" + arrLines[i].Remove(idxToInfo);
                    arrLines[i] = "";

                    for (int j = 0; j < dtbProperties.Rows.Count; j++)
                    {
                        if (oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) == "string")
                        {
                            arrLines[i] = arrLines[i] + line + "p" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = dr[p" + TableName + "Info.str" + dtbProperties.Rows[j]["name"].ToString() + "].ToString();";
                        }
                        else if (oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) == "byte[]")
                        {
                            arrLines[i] = arrLines[i] + line + "p" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = (byte[])(dr[p" + TableName + "Info.str" + dtbProperties.Rows[j]["name"].ToString() + "]);";
                        }
                        else
                        {
                            arrLines[i] = arrLines[i] + line + "p" + TableName + "Info." + dtbProperties.Rows[j]["name"].ToString() + " = " + oThongTinCSDL.GetCsDataType(dtbProperties.Rows[j]["xtype"].ToString()) + ".Parse(dr[p" + TableName + "Info.str" + dtbProperties.Rows[j]["name"].ToString() + "].ToString());";
                        }
                    }
                }
            }
            File.WriteAllLines(Program.ThuMucGoc + "\\" + PrjName + ".Business\\cB" + TableName + ".cs", arrLines);
        }