public HOADONTT AddHOADONTT(HOADONTT_ViewModel model) { using (var db = new RestaurantManagerDataEntities()) { using (var trans = db.Database.BeginTransaction()) { try { var check = db.HOADONTTs.FirstOrDefault(x => x.idhoadontt == model.idhoadontt); if (check == null) { var HOADONTT = new HOADONTT { iddondat = model.iddondat, ngayhd = model.ngayhd, thoigian = DateTime.Now, thungan = model.CreateBy, idkh = model.idkh, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; var result = db.HOADONTTs.Add(HOADONTT); db.SaveChanges(); foreach (D_HOADONTT_ViewModel item in model.D_HOADONTT) { var D_HOADONTT = new D_HOADONTT { idhoadontt = HOADONTT.idhoadontt, idmon = item.idmon, slban = item.slban, dongiaban = item.dongiaban, CreateBy = model.CreateBy, CreateDate = DateTime.Now, }; db.D_HOADONTT.Add(D_HOADONTT); } db.SaveChanges(); trans.Commit(); return(result); } } catch { trans.Rollback(); return(null); } return(null); } } }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <param name="data"></param> public void PrintHOADONTT(HOADONTT_ViewModel obj, List <D_HOADONTT_ViewModel> data) { ReportHOADONTT report = new ReportHOADONTT(); //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(HOADONTT_ViewModel obj, List <D_HOADONTT_ViewModel> data) { using (var db = new RestaurantManagerDataEntities()) { var toDay = DateTime.Now; lblid.Text = obj.idhoadontt.ToString(); lblNgayHD.Text = obj.ngayhd.ToString("dd/MM/yyyy"); lblBan.Text = obj.ban; lblsdt.Text = obj.sdt; lblKhachHang.Text = obj.tenkh == null?"": obj.tenkh; lblThoiGian.Text = obj.thoigian.Value.ToString("hh:mm:ss"); lblThuNgan.Text = obj.thungan.ToString(); lblCustomerPay.Text = obj.CustomerPay.ToString("#,###"); var total = data.Sum(x => x.TotalAmount); xrReturn.Text = (obj.CustomerPay - total).ToString("#,###"); //lblFooterDate.Text = string.Format("Ngày {0} tháng {1} năm {2}", toDay.Day, toDay.Month, toDay.Year); ///var details = new PYCBll().GetListD_PYC(pyc.idyc); objectDataSource4.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) { try { if (txtiddondat.Text == "" || txtiddondat.EditValue == null) { XtraMessageBox.Show("Bạn phải chọn đơn đặt đồ ăn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int.TryParse(txtiddondat.EditValue.ToString(), out int iddondat); if (iddondat <= 0) { XtraMessageBox.Show("Bạn phải chọn đơn đặt đồ ăn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtCustomerPay.Text == "" || txtCustomerPay.EditValue == null) { XtraMessageBox.Show("Bạn chưa nhập tiền khách đưa!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } double.TryParse(txtCustomerPay.EditValue.ToString(), out double CustomerPay); double.TryParse(txtTotalAmount.EditValue.ToString(), out double TotalAmount); int.TryParse(lueKhachHang.EditValue.ToString(), out int idkh); 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 model = new HOADONTT_ViewModel { iddondat = iddondat, ngayhd = dtpngaydat.Value, thoigian = DateTime.Now, idkh = idkh, //D_HOADONTT= lstD_DONDATDA, thungan = Properties.Settings.Default.NameLog, CreateBy = Properties.Settings.Default.NameLog, ModifyBy = Properties.Settings.Default.NameLog }; List <D_HOADONTT_ViewModel> lstD_HOADONTT = new List <D_HOADONTT_ViewModel>(); foreach (D_DONDATDA_ViewModel item in lstD_DONDATDA) { var D_HOADONTT = new D_HOADONTT_ViewModel { idmon = item.idmon, slban = item.sldat, tenmon = item.tenmon, dongiaban = item.dongiamon, CreateBy = Properties.Settings.Default.NameLog, ModifyBy = Properties.Settings.Default.NameLog, }; lstD_HOADONTT.Add(D_HOADONTT); } if (lstD_HOADONTT.Count() <= 0) { XtraMessageBox.Show("Không có món ăn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } model.D_HOADONTT = lstD_HOADONTT; var resultData = new HOADONTTBll().AddHOADONTT(model); if (resultData != null) { LoadGrid(); var HOADONTT = new HOADONTTBll().GetHOADONTT(resultData.idhoadontt); var D_HOADONTT = new HOADONTTBll().GetListD_HOADONTT(resultData.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(); } ClearDisplay(); } ClearDisplay(); return; } XtraMessageBox.Show("Thanh toán không thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ClearDisplay(); return; } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }