Beispiel #1
0
        public void TaoHoaDon()
        {
            if (String.IsNullOrWhiteSpace(MaHD))
            {
                //System.Windows.MessageBox.Show("Bạn chưa tạo mã hóa đơn");
                IconModal  = "CloseCircle";
                DialogOpen = true;
                ThongBao   = "Bạn chưa tạo mã hóa đơn";
                return;
            }

            if (ListMatHang.Count == 0)
            {
                //System.Windows.MessageBox.Show("Không thể tạo một hóa đơn rỗng");
                IconModal  = "CloseCircle";
                DialogOpen = true;
                ThongBao   = "Không thể tạo một hóa đơn rỗng";
                return;
            }

            HOADON hd = new HOADON()
            {
                id        = Global.Ins.autoGenerateHoaDon(),
                MaPhieuDH = null,
                NgayLap   = DateTime.Now,
                NgayXuat  = DateTime.Now,
                MaKH      = null,
                MaNV      = Global.Ins.NhanVien.id,
                ThanhTien = decimal.Parse(TongTien),
                TrangThai = 1,
                isDeleted = false,
            };

            if (!String.IsNullOrWhiteSpace(MaPhieuDH))
            {
                hd.MaPhieuDH = MaPhieuDH;
            }
            PHIEUDATHANG pdh = Global.Ins.getPhieuDHbyMaPhieu(MaPhieuDH);

            if (pdh != null)
            {
                pdh.TrangThai = 1;
            }

            DataProvider.Ins.DB.HOADONs.Add(hd);
            DataProvider.Ins.DB.SaveChanges();
            foreach (var item in ListMatHang)
            {
                CT_HOADON ct = new CT_HOADON()
                {
                    id        = Global.Ins.autoGenerateCTHoaDon(),
                    MaHD      = hd.id,
                    MaMH      = item.MaMH,
                    SLMua     = int.Parse(item.SoLuong),
                    DonGia    = decimal.Parse(item.DonGia),
                    TongTien  = decimal.Parse(item.ThanhTien),
                    isDeleted = false,
                };
                DataProvider.Ins.DB.CT_HOADON.Add(ct);
                DataProvider.Ins.DB.SaveChanges();
            }
            if (CreateReport)
            {
                BanHang_PrintPreview_ViewModel vm    = new BanHang_PrintPreview_ViewModel(hd.id, Global.Ins.NhanVien.HoTen, hd.ThanhTien?.ToString("0,000"), ListMatHang, TenKhachHang, DiaChiNhan);
                BanHang_PrintPreview           print = new BanHang_PrintPreview(vm);
                print.Show();
            }
            LoadDatabase();
            DialogOpen = true;
            IconModal  = "CheckCircleOutline";
            ThongBao   = "Tạo hóa đơn thành công";
        }
Beispiel #2
0
        public BanHang_ViewModel()
        {
            Init();
            CreateReport = false;

            GetMaHDCommand = new RelayCommand <Object>((p) => { return(true); }, (p) =>
            {
                MaHD    = create_MaHD();
                TenQuay = LoginViewModel.Quay.TenQuay;
            });

            ThemHangCommand = new RelayCommand <Object>((p) => { return(true); }, (p) =>
            {
                ThemHang_ViewModel.okAdd = false;
                Window themHANG          = new ThemHang_Window();
                themHANG.DataContext     = new ThemHang_ViewModel();
                themHANG.ShowDialog();
                if (ThemHang_ViewModel.okAdd)
                {
                    add_MatHang(ThemHang_ViewModel.maMH, ThemHang_ViewModel.soLuong);
                }
                temp_MH_Mua = ListMatHang;
            });

            XoaHangCommand = new RelayCommand <Object>((p) => { if (SelectedMatHang != null)
                                                                {
                                                                    return(true);
                                                                }
                                                                return(false); }, (p) =>
            {
                xoa_MatHang();
                temp_MH_Mua = ListMatHang;
            });

            HuyCommand = new RelayCommand <Object>((p) => { return(true); }, (p) =>
            {
                DialogResult kq = System.Windows.Forms.MessageBox.Show("Bạn có chắc hủy hóa đơn này không", "Hủy hóa đơn", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                if (kq == DialogResult.No)
                {
                    return;
                }
                huy_HoaDon();
            });

            XacNhanCommand = new RelayCommand <Object>((p) => { return(true); }, (p) =>
            {
                if (check_CreateBill() == false)
                {
                    return;
                }
                ThongBao = "Lập hóa đơn thành công!";
                save_HoaDon();
                truHang();
                DialogOpen = true;
            });

            DialogOK = new RelayCommand <Object>((p) => { return(true); }, (p) =>
            {
                DialogOpen = false;
                if (ThongBao == "Lập hóa đơn thành công!")
                {
                    if (CreateReport)
                    {
                        TenNhanVien = LoginViewModel.TaiKhoanSuDung.HoTen;

                        ObservableCollection <ListMatHangMua> temp = new ObservableCollection <ListMatHangMua>();
                        foreach (var mh in ListMatHang)
                        {
                            temp.Add(mh);
                        }

                        BanHang_PrintPreview_ViewModel x = new BanHang_PrintPreview_ViewModel(MaHD, TenNhanVien, TongTien, temp);
                        BanHang_PrintPreview bill        = new BanHang_PrintPreview(x);
                        bill.Show();
                    }

                    MaHD     = "";
                    TongTien = "";
                    ListMatHang.Clear();
                }
            });

            CloseWindowCommand = new RelayCommand <Window>((p) => { return(p == null ? false : true); }, (p) => {
                p.Close();
            });

            LapPhieuDNXHCommand = new RelayCommand <Window>((p) => { return(true); }, (p) => {
                PhieuDNXH_Window win = new PhieuDNXH_Window();
                win.ShowDialog();
            });
        }