Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        /// <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();
        }
Exemple #3
0
 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;
     }
 }
Exemple #4
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);
                    }
                }
            }
        }
Exemple #5
0
        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;
            }
        }