예제 #1
0
        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();
        }
예제 #2
0
 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;
     }
 }
예제 #3
0
        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);
                    }
                }
            }
        }
예제 #4
0
        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);
                }
            }
        }