public void PrintDONDATDA(DONDATDA_ViewModel obj, List <D_DONDATDA_ViewModel> data) { ReportDONDATDA report = new ReportDONDATDA(); //Hide paramater foreach (DevExpress.XtraReports.Parameters.Parameter p in report.Parameters) { p.Visible = false; } //Init data report report.InitData(obj, data); documentViewer1.DocumentSource = report; report.CreateDocument(); }
public void InitData(DONDATDA_ViewModel obj, List <D_DONDATDA_ViewModel> data) { using (var db = new RestaurantManagerDataEntities()) { var toDay = DateTime.Now; lblid.Text = obj.iddondat.ToString(); lblKhachHang.Text = obj.tenkh.ToString(); lblsdt.Text = obj.sdt.ToString(); lblBan.Text = obj.ban.ToString(); lblNgay.Text = obj.ngaydat.Value.ToString("dd/MM/yyyy"); lblFooterDate.Text = string.Format("Ngày {0} tháng {1} năm {2}", toDay.Day, toDay.Month, toDay.Year); objectDataSource2.DataSource = data; } }
public string AddDONDATDA(DONDATDA_ViewModel model, ref string mess, ref int idhoadontt) { using (var db = new RestaurantManagerDataEntities()) { using (var trans = db.Database.BeginTransaction()) { try { var check = db.DONDATDAs.FirstOrDefault(x => x.iddondat == model.iddondat); if (check == null) { var DONDATDA = new DONDATDA { ngaydat = model.ngaydat, ban = model.ban, idkh = model.idkh, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; var result = db.DONDATDAs.Add(DONDATDA); db.SaveChanges(); foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var D_DONDATDA = new D_DONDATDA { iddondat = DONDATDA.iddondat, idmon = item.idmon, sldat = item.sldat, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; db.D_DONDATDA.Add(D_DONDATDA); } db.SaveChanges(); //trừ nguyên liệu món ăn đi foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var conthuc = db.CONGTHUCs.AsNoTracking().Where(x => x.idmon == item.idmon).ToList(); foreach (var iNlieu in conthuc) { var nlieu = db.NLIEUx.FirstOrDefault(x => x.idhang == iNlieu.idhang); if (nlieu != null) { var slton = nlieu.slton.Value; int.TryParse(iNlieu.hamluong, out int hamluong); if (slton < hamluong * item.sldat) { var monan = db.MONANs.AsNoTracking().FirstOrDefault(x => x.idmon == item.idmon); mess = "warning"; return(String.Format("Món {0} đã hết nguyên liệu {1}!", monan.temon, nlieu.tenhang)); } slton -= hamluong * item.sldat; nlieu.slton = slton; } } } db.SaveChanges(); //Lưu hóa đơn thanh toán var modelHOADONTT = new HOADONTT_ViewModel { iddondat = result.iddondat, ngayhd = model.ngaydat.Value, thoigian = DateTime.Now, idkh = model.idkh, thungan = model.CreateBy, CreateBy = model.CreateBy, ModifyBy = model.CreateBy }; List <D_HOADONTT_ViewModel> lstD_HOADONTT = new List <D_HOADONTT_ViewModel>(); foreach (D_DONDATDA_ViewModel item in model.D_DONDATDA) { var D_HOADONTT = new D_HOADONTT_ViewModel { idmon = item.idmon, slban = item.sldat, tenmon = item.tenmon, dongiaban = item.dongiamon, CreateBy = model.CreateBy, ModifyBy = model.CreateBy, }; lstD_HOADONTT.Add(D_HOADONTT); } var hoadontt = new HOADONTTBll().AddHOADONTT(modelHOADONTT); if (hoadontt != null) { trans.Commit(); mess = "success"; idhoadontt = hoadontt.idhoadontt; return("Thanh toán thành công!"); } mess = "error"; idhoadontt = 0; return("Thanh toán không thành công!"); } else { check.ngaydat = model.ngaydat; check.ban = model.ban; check.idkh = model.idkh; check.ModifyBy = model.ModifyBy; check.ModifyDate = DateTime.Now; db.SaveChanges(); mess = "success"; idhoadontt = 0; return("Cập nhật món ăn thành công!"); } } catch (Exception ex) { trans.Rollback(); mess = "error"; idhoadontt = 0; return(ex.Message); } } } }
private void btnAddHoaDon_Click(object sender, EventArgs e) { CalculateAmount(); var khachhang = lueKhachHang.EditValue; if (khachhang == null) { khachhang = 0; } if (ListD_DONDATDA.Count <= 0) { XtraMessageBox.Show("Bạn phải chọn món ăn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } double CustomerPay = 0; double TotalAmount = 0; if (txtCustomerPay.EditValue != null) { double.TryParse(txtCustomerPay.EditValue.ToString(), out CustomerPay); } if (txtTotalAmount.EditValue != null) { double.TryParse(txtTotalAmount.EditValue.ToString(), out TotalAmount); } if (CustomerPay <= 0) { XtraMessageBox.Show("Tiền khách đưa phải lớn hơn 0!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (CustomerPay < TotalAmount) { XtraMessageBox.Show("Tiền khách đưa phải lớn hơn hoặc bằng tổng tiền!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var resultDialog = XtraMessageBox.Show("Bạn có chắc chắn muốn thanh toán ?", "Xác nhận", MessageBoxButtons.YesNo); if (resultDialog == DialogResult.Yes) { //Lưu đơn đặt đồ ăn var dondatda = new DONDATDA_ViewModel { idkh = (int)khachhang, ban = txtban.Text, ngaydat = dtpngaydat.Value, D_DONDATDA = ListD_DONDATDA, CreateBy = Properties.Settings.Default.NameLog, ModifyBy = Properties.Settings.Default.NameLog }; var mess = String.Empty; var idhoadontt = 0; var resultData = new DONDATDABll().SaveDONDATDA(dondatda, ref mess, ref idhoadontt); if (mess == "success") { if (resultData != null) { var HOADONTT = new HOADONTTBll().GetHOADONTT(idhoadontt); HOADONTT.CustomerPay = CustomerPay; var D_HOADONTT = new HOADONTTBll().GetListD_HOADONTT(idhoadontt); XtraMessageBoxArgs args = new XtraMessageBoxArgs(); args.Caption = "Thông báo"; args.Text = "Thanh toán thành công!\n Bạn có muốn in hóa đơn ?"; args.Buttons = new DialogResult[] { DialogResult.OK, DialogResult.Cancel }; args.Showing += Args_Showing; var result = XtraMessageBox.Show(args); if (result == DialogResult.OK) { using (frmPrint frm = new frmPrint()) { frm.PrintHOADONTT(HOADONTT, D_HOADONTT); frm.ShowDialog(); } ClearHoaDon(); } ClearHoaDon(); return; } ListMONAN = new MONANBll().GetListMONAN_OutLeft(); InitData(ListMONAN); //changeCaption(); XtraMessageBox.Show(resultData, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); ClearHoaDon(); return; } else { XtraMessageBox.Show(resultData, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }