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); }
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); }