private static void GenerateDataProvider(KBModel kbModel, Table tabla, SDT Sdt) { Artech.Genexus.Common.Objects.DataProvider dp = new Artech.Genexus.Common.Objects.DataProvider(kbModel); string dpName = "DP_" + tabla.Name; string sdtparam = "Param_" + Sdt.Name; dp.Name = dpName; string Source; Source = Sdt.Name + Environment.NewLine; Source += GenerateWhereSDT(tabla, sdtparam); Source += "{" + Environment.NewLine; Source += GenerateListaAtt(tabla); Source += "}"; dp.DataProviderSource.Source = Source; AddSDTVariableToDP(kbModel, dp, Sdt, sdtparam); AddSDTVariableToDP(kbModel, dp, Sdt, Sdt.Name); dp.Rules.Source = GenerateParmRuleINSDT(sdtparam); dp.Description = "Data Provider for table " + tabla.Name + "."; dp.SetPropertyValue(Properties.DPRV.Output, new KBObjectReference(Sdt)); dp.SetPropertyValue(Properties.DPRV.Collection, true); dp.Save(); // KBObject obj = kbModel.Objects.GetByName("Objects",,"DP_DSASOC") }
public frmDetailKQKB(int KhamBenh_Id) { InitializeComponent(); var obj = new KQKBBUS(this).NVGetByKhamBenhId(KhamBenh_Id); if (obj != null) { TenBenhNhan.FormatTextFromTag(obj.TenBenhNhan); MaYTe.FormatTextFromTag(obj.MaYTe); Tuoi.FormatTextFromTag(obj.Tuoi); GioiTinh.FormatTextFromTag(obj.GioiTinh); DiaChi.FormatTextFromTag(obj.DiaChi); SDT.FormatTextFromTag(obj.SoDienThoai); THoiGianKham.FormatTextFromTag(obj.ThoiGianKham); NoiDungKham.FormatTextFromTag(obj.NoiDungKham); TrieuChungLamSang.FormatTextFromTag(obj.TrieuChungLamSang); ChuanDoanLamSang.FormatTextFromTag(obj.ChanDoanKhoaKham); TenPhongBan.FormatTextFromTag(obj.TenPhongBan); HuyeAp.FormatTextFromTag(obj.HuyetAp); Mach.FormatTextFromTag(obj.Mach); NhietDo.FormatTextFromTag(obj.NhietDo); NhipTho.FormatTextFromTag(obj.NhipTho); ChieuCao.FormatTextFromTag(obj.ChieuCao); CanNang.FormatTextFromTag(obj.CanNang); SoBHYT.FormatTextFromTag(obj.SoBHYT); NguoiLienHe.FormatTextFromTag(obj.NguoiLienHe); NgayhentaiKham.FormatTextFromTag(obj.NgayHenTaiKham); MaBenh.FormatTextFromTag(obj.MaBenh); MaBenhPhu.FormatTextFromTag(obj.MaBenhPhu); } }
public override void BeforeSaveObjects(PatternInstance instance, InstanceObjects instanceObjects) { base.BeforeSaveObjects(instance, instanceObjects); foreach (InstanceObject instanceObject in instanceObjects) { string outputSDTName; List <KeyValuePair <string, object> > props = new List <KeyValuePair <string, object> >(); if (instanceObject.Name.EndsWith("DataProvider")) { props.Add(new KeyValuePair <string, object>("OutputCollection", true)); props.Add(new KeyValuePair <string, object>("OutputCollectionName", "DataCollection")); outputSDTName = "Data"; } else { outputSDTName = "Definition"; } SDT outputSDT = SDT.Get(instanceObject.Model, new QualifiedName("GeneXusAI.Custom", outputSDTName)); if (outputSDT != null) { props.Add(new KeyValuePair <string, object>("OutputSDT", new DataProviderOutputReference(outputSDT))); } instanceObject.GeneratedObject.SetPropertyValues(props); } }
private static void ListSDTStructure(SDT sdtToList, StreamWriter file) { if (sdtToList != null) { PrintSectionHeader("SDT STRUCTURE", file); ListStructure(sdtToList.SDTStructure.Root, 0, file); } }
private static void ListSDTStructure(SDT sdtToList, StreamWriter file) { if (sdtToList != null) { file.WriteLine(Environment.NewLine + "=== STRUCTURE ==="); ListStructure(sdtToList.SDTStructure.Root, 0, file); } }
/// <summary> /// Crea un procedure con todos los SDT seleccionados por el usuario. /// </summary> public static void CreateProcedureSDT() { IKBService kB = UIServices.KB; if (kB != null && kB.CurrentModel != null) { SelectObjectOptions selectObjectOption = new SelectObjectOptions(); selectObjectOption.MultipleSelection = true; KBModel kbModel = UIServices.KB.CurrentModel; Artech.Genexus.Common.Objects.Procedure proc = new Artech.Genexus.Common.Objects.Procedure(kbModel); string procName = "SDTForceGenerate"; proc.Name = procName; proc.ProcedurePart.Source = "// Generated by KBDoctor, to generate SDT source"; proc.SetPropertyValue("IsMain", true); proc.Save(); //MUESTRO LOS SDT A REGENERAR selectObjectOption.ObjectTypes.Add(KBObjectDescriptor.Get <SDT>()); foreach (KBObject kBObject in UIServices.SelectObjectDialog.SelectObjects(selectObjectOption)) { SDT sdtObj = (SDT)kBObject; CodeGeneration.AddSDTVariable(kbModel, proc, sdtObj); Application.DoEvents(); } proc.Save(); //Para cada uno de los generadores del environment, genero el proc con los SDT. GxModel gm = UIServices.KB.WorkingEnvironment.TargetModel.GetAs <GxModel>(); foreach (var gen in gm.Environments) { int generator = gen.Generator; KBObject copy = BLServices.KnowledgeManager.Clone(proc); copy.Name = procName + "_" + generator.ToString(); copy.SetPropertyValue(Artech.Genexus.Common.Properties.TRN.Generator, new EnvironmentCategoryReference { Definition = gen }); UIServices.Objects.Save(copy); GenexusUIServices.Build.Rebuild(copy.Key); do { Application.DoEvents(); } while (GenexusUIServices.Build.IsBuilding); copy.Delete(); } proc.Delete(); } }
private static string GenerateForEachToSDT(Table tabla, SDT sdt) { string Source = "for each" + Environment.NewLine; Source += GenerateWhere(tabla); Source += GenerateAssignToSDT(tabla, sdt); Source += "endfor" + Environment.NewLine; return(Source); }
//insert theo khách hàng theo từng bàn private void button1_Click(object sender, EventArgs e) { String str = label1.Text; String result = ""; foreach (Char x in str.ToCharArray()) { if (Char.IsDigit(x)) { result += x; } } Char[] Soban = result.ToCharArray(); if (SDT.Text == "") { MessageBox.Show("Bạn thiếu Số điện thoại khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); SDT.Focus(); return; } if (TenKH.Text == "") { MessageBox.Show("Bạn thiếu tên khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); TenKH.Focus(); return; } if (!radioButton1.Checked && !radioButton2.Checked) { MessageBox.Show("Bạn Chưa lựa chọn hình thức tính điểm tích lũy cho khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); groupBox1.Focus(); return; } if (ThoiGianTra.Value.Subtract(ThoiGianDat.Value).TotalHours < 2) { MessageBox.Show("Thời gian tối thiểu để đặt bàn là từ 2 tiếng", "Nhập Sai thông tin yêu cầu", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { if (radioButton1.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, 0, NgayGiaNhap.Value); foreach (Char i in Soban) { bll.insertDATBAN(MaKH.Text, "BAN" + i, ThoiGianDat.Value, ThoiGianTra.Value, 1); } } else if (radioButton2.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, NgayGiaNhap.Value); foreach (Char i in Soban) { bll.insertDATBAN(MaKH.Text, "MaBan" + i, ThoiGianDat.Value, ThoiGianTra.Value, 1); } } } }
public static void AddSDTVariableToDP(KBModel kbModel, DataProvider dp, SDT sdtobj, string sdtname) { Variable oVariableNew = new Variable(dp.Variables); oVariableNew.Name = sdtname; oVariableNew.Type = eDBType.GX_SDT; DataType.ParseInto(kbModel, sdtobj.Name, oVariableNew); dp.Variables.Add(oVariableNew); }
private static string GenerateParmRule(Table tabla, SDT sdt, string INorOut) { string Rules = "parm("; foreach (TableAttribute pk in tabla.TableStructure.PrimaryKey) { Rules += "in:&" + pk.Name + ","; } Rules += INorOut + "&" + sdt.Name + ");"; return(Rules); }
//FrmLoaiXe7Cho LoaiXe = new FrmLoaiXe7Cho(); public void HoaDonTinhTien_Load(object sender, EventArgs e) { txtTuyenDuong.Text = Tuyen.ToString(); txtSoGhe.Text = Ghe.ToString(); txtGiaCuoc.Text = Tien.ToString(); txtSoXe.Text = SoXe.ToString(); txtGioKH.Text = Ngay.ToString(); txtGio.Text = Gio.ToString(); txtHanhKhach.Text = THK.ToString(); txtSDTHK.Text = SDT.ToString(); }
private static void WriteObjectContent(KBObject obj, StreamWriter file) { ListRulePart(obj, file); ListVariables(obj, file); ListStats(obj, file); ListEvents(obj, file); switch (obj.TypeDescriptor.Name) { case "Attribute": ListAttribute(obj, file); break; case "Procedure": ListProcedureSource(obj, file); break; case "Transaction": ListTransactionStructure(obj, file); break; case "WorkPanel": break; case "WebPanel": break; case "WebComponent": break; case "Table": Table tbl = (Table)obj; ListTableStructure(tbl, file); break; case "SDT": SDT sdtToList = (SDT)obj; ListSDTStructure(sdtToList, file); break; default: //Unknown object. Use export format. file.Write(SerializeObject(obj).ToString()); break; } ListProperties(obj, file); ListCategories(obj, file); //ListNavigation(obj, file); }
private static string GenerateAssignFromSDT(Table tabla, SDT sdt) { String Source = Environment.NewLine; foreach (TableAttribute atr in tabla.TableStructure.Attributes) { if (!atr.IsKey) { Source += " " + atr.Name + " = &" + sdt.Name + "." + atr.Name + Environment.NewLine; } } Source += Environment.NewLine; return(Source); }
/// <summary> /// Bearbeitet eine Diensttabelle. /// </summary> /// <param name="table">Die zu verarbeitende Tabelle.</param> private void ProcessServiceTable(SDT table) { // Count m_sdtProcessed++; // Must use legacy implementation var sdt = table.Table; if (!sdt.IsValid) { return; } // Remember m_lastSDT = sdt; }
public static void CreateProcedureGetSet() { IKBService kB = UIServices.KB; if (kB != null && kB.CurrentModel != null) { SelectObjectOptions selectObjectOption = new SelectObjectOptions(); selectObjectOption.MultipleSelection = false; KBModel kbModel = UIServices.KB.CurrentModel; selectObjectOption.ObjectTypes.Add(KBObjectDescriptor.Get <Table>()); List <Table> tablas = UIServices.SelectObjectDialog.SelectObjects(selectObjectOption) as List <Table>; foreach (Table tabla in tablas) { string title = "KBDoctor - Generating Get/Set/Insert/Delete for table " + tabla.Name; IOutputService output = CommonServices.Output; output.StartSection(title); try { output.AddLine(" Generating SDT"); SDT Sdt = GenerateSdt(tabla); output.AddLine(" Generating Procedure GET"); GenerateGetProcedure(kbModel, tabla, Sdt); output.AddLine(" Generating Procedure SET"); GenerateSetProcedure(kbModel, tabla, Sdt); output.AddLine(" Generating Procedure INSERT"); GenerateInsertProcedure(kbModel, tabla, Sdt); output.AddLine(" Generating DataProvider"); GenerateDataProvider(kbModel, tabla, Sdt); output.AddLine(" Generating Exist"); GenerateExistProcedure(kbModel, tabla, Sdt); } catch (Exception ex) { output.AddErrorLine(ex); } Application.DoEvents(); output.EndSection(title, true); } } }
private static void GenerateInsertProcedure(KBModel kbModel, Table tabla, SDT Sdt) { Artech.Genexus.Common.Objects.Procedure proc = new Artech.Genexus.Common.Objects.Procedure(kbModel); string procName = "NEW_" + tabla.Name; proc.Name = procName; string Source = "// Generated by KBDoctor " + DateTime.Now.ToString() + Environment.NewLine; AddSDTVariable(kbModel, proc, Sdt); Source += GenerateNewFromSDT(tabla, Sdt); proc.ProcedurePart.Source = Source; proc.Rules.Source = GenerateParmRuleINSDT(Sdt.Name); AddVariables(kbModel, proc, tabla); proc.Description = "Insert for Table " + tabla.Name + "."; proc.Save(); }
private static SDT GenerateSdt(Table tabla) { SDT Sdt = SDT.Create(UIServices.KB.CurrentModel); Sdt.Name = "SDT_" + tabla.Name; Sdt.Description = tabla.Description; // Añadir los atributos de la tabla. foreach (TableAttribute atr in tabla.TableStructure.Attributes) { SDTItem item = new SDTItem(Sdt.SDTStructure); item.Name = atr.Name; item.Description = atr.Attribute.Description; item.AttributeBasedOn = atr; Sdt.SDTStructure.Root.AddItem(item); } Sdt.Save(); return(Sdt); }
private static string GenerateNewFromSDT(Table tabla, SDT sdt) { string Source = "New" + Environment.NewLine; string Comment = "/*" + Environment.NewLine; foreach (TableAttribute atr in tabla.TableStructure.Attributes) { if (!atr.IsFormula) { Source += " " + atr.Name + " = &" + sdt.Name + "." + atr.Name + Environment.NewLine; } Comment += " &" + sdt.Name + "." + atr.Name + " = " + atr.Name; } Source += "when duplicate /*nothing*/ " + Environment.NewLine; Source += "endnew" + Environment.NewLine; Source += Comment + Environment.NewLine + "*/"; return(Source); }
private static void GenerateExistProcedure(KBModel kbModel, Table tabla, SDT sdt) { Artech.Genexus.Common.Objects.Procedure proc = new Artech.Genexus.Common.Objects.Procedure(kbModel); string procName = "EXISTS_" + tabla.Name; AddSDTVariable(kbModel, proc, sdt); proc.Name = procName; string Source; Source = "for each" + Environment.NewLine; Source += GenerateWhere(tabla); Source += " &Exists=true" + Environment.NewLine; Source += " when none " + Environment.NewLine; Source += " &Exists=false" + Environment.NewLine; Source += "endfor" + Environment.NewLine; proc.ProcedurePart.Source = Source; string Rules = "parm("; foreach (TableAttribute pk in tabla.TableStructure.PrimaryKey) { Rules += "in:&" + pk.Name + ","; } Rules += "out:&Exists);"; proc.Rules.Source = Rules; AddVariables(kbModel, proc, tabla); Variable oVariableNew = new Variable(proc.Variables); oVariableNew.Name = "Exists"; oVariableNew.Type = eDBType.Boolean; proc.Variables.Add(oVariableNew); proc.Description = "Exists record in Table " + tabla.Name + "."; proc.Save(); }
private static void WriteObjectContent(KBObject obj, StreamWriter file) { RulesPart rp = obj.Parts.Get <RulesPart>(); if (rp != null) { file.WriteLine(Environment.NewLine + "=== RULES ==="); file.WriteLine(rp.Source); } EventsPart ep = obj.Parts.Get <EventsPart>(); if (ep != null) { file.WriteLine(Environment.NewLine + "=== EVENTS SOURCE ==="); file.WriteLine(ep.Source); } switch (obj.TypeDescriptor.Name) { case "Attribute": Artech.Genexus.Common.Objects.Attribute att = (Artech.Genexus.Common.Objects.Attribute)obj; file.WriteLine(Functions.ReturnPicture(att)); if (att.Formula == null) { file.WriteLine(""); } else { file.WriteLine(att.Formula.ToString()); } break; case "Procedure": ProcedurePart pp = obj.Parts.Get <ProcedurePart>(); if (pp != null) { file.WriteLine(Environment.NewLine + "=== PROCEDURE SOURCE ==="); file.WriteLine(pp.Source); } break; case "Transaction": StructurePart sp = obj.Parts.Get <StructurePart>(); if (sp != null) { file.WriteLine(Environment.NewLine + "=== STRUCTURE ==="); file.WriteLine(sp.ToString()); } break; case "WorkPanel": break; case "WebPanel": break; case "WebComponent": break; case "Table": Table tbl = (Table)obj; foreach (TableAttribute attr in tbl.TableStructure.Attributes) { String line = ""; if (attr.IsKey) { line = "*"; } else { line = " "; } line += attr.Name + " " + attr.GetPropertiesObject().GetPropertyValueString("DataTypeString") + "-" + attr.GetPropertiesObject().GetPropertyValueString("Formula"); if (attr.IsExternalRedundant) { line += " External_Redundant"; } line += " Null=" + attr.IsNullable; if (attr.IsRedundant) { line += " Redundant"; } file.WriteLine(line); } break; case "SDT": SDT sdtToList = (SDT)obj; if (sdtToList != null) { file.WriteLine(Environment.NewLine + "=== STRUCTURE ==="); ListStructure(sdtToList.SDTStructure.Root, 0, file); } break; default: //Unknown object. Use export format. file.Write(SerializeObject(obj).ToString()); break; } file.WriteLine(Environment.NewLine + "====== PROPERTIES ======="); foreach (Property prop in obj.Properties) { if (!prop.IsDefault) { file.WriteLine(prop.Name + " -> " + prop.Value.ToString()); } else { if ((prop.Name == "CommitOnExit") || (prop.Name == "TRNCMT") || (prop.Name == "GenerateObject")) { file.WriteLine(prop.Name + " -> " + prop.Value.ToString()); } } } //CATEGORIES IEnumerable <Artech.Udm.Framework.References.EntityReference> refe = obj.GetReferences(); string GUIDCatString = "00000000-0000-0000-0000-000000000006"; List <string> categories = new List <string>(); foreach (Artech.Udm.Framework.References.EntityReference reference in refe) { Guid GUIDRefTo = reference.To.Type; string GUIDRefToString = GUIDRefTo.ToString(); if (GUIDRefToString == GUIDCatString) { KBCategory cat = KBCategory.Get(UIServices.KB.CurrentModel, reference.To.Id); categories.Add(cat.Name); } } if (categories.Count > 0) { file.WriteLine(Environment.NewLine + "====== CATEGORIES ======="); foreach (string name in categories) { file.WriteLine(name); } } }
internal bool MergeSDT(SDT obj, PatternInstanceElement c, UpdateObject uo, ObjectTemplate t) { int saveObject = 0; bool overwrite = (uo == UpdateObject.OverWrite ? true : false); saveObject += MergeSDTStructure(obj.SDTStructure, c, t.Source, overwrite); return saveObject > 0; }
public static void AddSDTVariable(KBModel kbModel, Artech.Genexus.Common.Objects.Procedure proc, SDT sdtobj) { Variable oVariableNew = new Variable(proc.Variables); oVariableNew.Name = sdtobj.Name; oVariableNew.Type = eDBType.GX_SDT; DataType.ParseInto(kbModel, sdtobj.Name, oVariableNew); proc.Variables.Add(oVariableNew); }
private void button1_Click_1(object sender, EventArgs e) { if (SDT.Text == "") { MessageBox.Show("Bạn thiếu Số điện thoại khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); SDT.Focus(); return; } if (TenKH.Text == "") { MessageBox.Show("Bạn thiếu tên khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); TenKH.Focus(); return; } if (!radioButton1.Checked && !radioButton2.Checked) { MessageBox.Show("Bạn Chưa lựa chọn hình thức tính điểm tích lũy cho khách hàng", "Nhập thiếu thông tin khách hàng", MessageBoxButtons.OK, MessageBoxIcon.Error); groupBox1.Focus(); return; } if (dateTimePicker2.Value.Subtract(dateTimePicker1.Value).TotalHours < 2) { //MessageBox.Show(dateTimePicker2.Value.Subtract(dateTimePicker1.Value).TotalHours.ToString()); MessageBox.Show("Thời gian tối thiểu để đặt bàn là từ 2 tiếng", "Nhập Sai thông tin yêu cầu", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { DataTable dt = BLL.getCustomerExixs(SDT.Text); if (dt.Rows.Count >= 1) { MessageBox.Show("khách hàng đã tồm tại"); int landat = 1; if (int.Parse(bll.getLatDatBan("BAN" + maban, MaKH.Text)) > 0) { landat++; if (radioButton1.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, 0, DateTime.Today); // MessageBox.Show("insert Thành công với có làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban + MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, landat); // MessageBox.Show("đã insert Datban voi ma ban la:" + maban);\ } else if (radioButton2.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, DateTime.Today); // MessageBox.Show("insert thành công với không làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban+MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, landat); //MessageBox.Show("đã insert Datban voi ma ban la:" + maban); } } else { if (radioButton1.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, 0, DateTime.Today); // MessageBox.Show("insert Thành công với có làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban + MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, 1); // MessageBox.Show("đã insert Datban voi ma ban la:" + maban);\ } else if (radioButton2.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, DateTime.Today); // MessageBox.Show("insert thành công với không làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban+MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, 1); //MessageBox.Show("đã insert Datban voi ma ban la:" + maban); } } } else { MessageBox.Show("khách hàng chưa có"); int landat = 1; if (int.Parse(bll.getLatDatBan("BAN" + maban, MaKH.Text)) > 0) { landat++; if (radioButton1.Checked) { // MessageBox.Show("insert Thành công với có làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban + MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, landat); // MessageBox.Show("đã insert Datban voi ma ban la:" + maban);\ } else if (radioButton2.Checked) { // MessageBox.Show("insert thành công với không làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban+MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, landat); //MessageBox.Show("đã insert Datban voi ma ban la:" + maban); } } else { if (radioButton1.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, 0, DateTime.Today); // MessageBox.Show("insert Thành công với có làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban + MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, 1); // MessageBox.Show("đã insert Datban voi ma ban la:" + maban);\ } else if (radioButton2.Checked) { bll.insertCustomers(TenKH.Text, DiaChi.Text, SDT.Text, DateTime.Today); // MessageBox.Show("insert thành công với không làm thẻ tích lũy\n tiếp theo là insert Datban voi mã bàn và MaKH là:" + maban+MaKH.Text); bll.insertDATBAN(MaKH.Text, "BAN" + maban, dateTimePicker1.Value, dateTimePicker2.Value, 1); //MessageBox.Show("đã insert Datban voi ma ban la:" + maban); } } } } loadDataGirdView(ListCustomersDiningTable, dataGridView1); frmBanAn frmBanAn = new frmBanAn(); frmBanAn.ShowDialog(); }