Exemple #1
0
        //      //Bien chua ket qua kiem tra hop le
        //      private bool Result_KiemTraHopLe;
        //private bool Result_KiemTraNhapLai; //true = da nhap lai moi nhat, false = chua nhap lai moi nhat
        //private string Result_Dialog;
        ////Khai bao cac command
        //public ICommand Click_MSTKCommand { get; set; }
        //public ICommand MSTK_TextChangedCommand { get; set; }
        //public ICommand KiemTraCommand { get; set; }
        //public ICommand Click_GiaoDichCommand { get; set; }
        //public ICommand STR_TextChangedCommand { get; set; }
        //public ICommand TKH_TextChangedCommand { get; set; }
        //public ICommand Click_CapNhatCommand { get; set; }
        //public ICommand STKEnterKeyDown_Command { get; set; }
        //public ICommand SoTienRutEnterKeyDown_Command { get; set; }
        //public ICommand Click_CopySoDuSTRCommand { get; set; }
        //public ICommand DialogOK { get; set; }
        //public ICommand DialogCancel { get; set; }
        //      public ICommand Refresh { get; set; }

        //      #region Binding tu view
        //      //Ngay Rut, kieu string
        //      private string _NgayRut;
        //public string NgayRut
        //{
        //	get => _NgayRut;
        //	set { _NgayRut = value; OnPropertyChanged();}
        //}
        ////Ma so tiet kiem
        //private string _MaSoTietKiem;

        //public string MaSoTietKiem
        //{
        //	get { return _MaSoTietKiem; }
        //	set { _MaSoTietKiem = value; OnPropertyChanged();}
        //}
        ////Ten Khach hang
        //private string _TenKhachHang;

        //public string TenKhachHang
        //{
        //	get { return _TenKhachHang; }
        //	set { _TenKhachHang = value; OnPropertyChanged(); }
        //}
        ////So Tien Rut
        //private string _SoTienRut;

        //public string SoTienRut
        //{
        //	get { return _SoTienRut; }
        //	set { _SoTienRut = value; OnPropertyChanged(); }
        //}
        ////Ten loai tiet kiem
        //private string _TenLoaiTietKiem;

        //public string TenLoaiTietKiem
        //{
        //	get { return _TenLoaiTietKiem; }
        //	set { _TenLoaiTietKiem = value; OnPropertyChanged(); }
        //}
        ////So du tai khoan
        //private string _SoDu;

        //public string SoDu
        //{
        //	get { return _SoDu; }
        //	set { _SoDu = value; OnPropertyChanged(); }
        //}
        ////CMND
        //private string _CMND;

        //public string CMND
        //{
        //	get { return _CMND; }
        //	set { _CMND = value; OnPropertyChanged(); }
        //}
        ////Ngay dao han ke tiep
        //private string _NgayDaoHan;

        //public string NgayDaoHan
        //{
        //	get { return _NgayDaoHan; }
        //	set { _NgayDaoHan = value; OnPropertyChanged(); }
        //}

        //private string _ThongBao;

        //public string ThongBao
        //{
        //	get { return _ThongBao; }
        //	set { _ThongBao = value; OnPropertyChanged(); }
        //}
        ////listView
        //private ObservableCollection<ListLichSuPhieuRut> _ListLichSuGD;

        //public ObservableCollection<ListLichSuPhieuRut> ListLichSuGD
        //{
        //	get { return _ListLichSuGD; }
        //	set { _ListLichSuGD = value; OnPropertyChanged(); }
        //}

        //private string _MaPR;

        //public string MaPR
        //{
        //	get { return _MaPR; }
        //	set { _MaPR = value; OnPropertyChanged(); }
        //}

        //private string _NgayRutTien;

        //public string NgayRutTien
        //{
        //	get { return _NgayRutTien; }
        //	set { _NgayRutTien = value; OnPropertyChanged(); }
        //}


        //private string _TienRut;
        //public string TienRut
        //{
        //	get { return _TienRut; }
        //	set { _TienRut = value; OnPropertyChanged(); }
        //}

        ////in phieu
        //private bool _CreatePR;
        //public bool CreatePR
        //{
        //	get { return _CreatePR; }
        //	set { _CreatePR = value; OnPropertyChanged(); }
        //}

        ////Cac nut dung cho thong bao
        //private string _ThongBao_MaSo;
        //public string ThongBao_MaSo
        //{
        //	get { return _ThongBao_MaSo; }
        //	set { _ThongBao_MaSo = value; OnPropertyChanged(); }
        //}

        //private string _SoTietKiem_Check;
        //public string SoTietKiem_Check
        //{
        //	get { return _SoTietKiem_Check; }
        //	set { _SoTietKiem_Check = value; OnPropertyChanged(); }
        //}

        //private string _ThongBao_TienRut;
        //public string ThongBao_TienRut
        //{
        //	get { return _ThongBao_TienRut; }
        //	set { _ThongBao_TienRut = value; OnPropertyChanged(); }
        //}

        //private string _SoTienRut_Check;
        //public string SoTienRut_Check
        //{
        //	get { return _SoTienRut_Check; }
        //	set { _SoTienRut_Check = value; OnPropertyChanged(); }
        //}

        //private string _ThongBao_DaoHan;
        //public string ThongBao_DaoHan
        //{
        //	get { return _ThongBao_DaoHan; }
        //	set { _ThongBao_DaoHan = value; OnPropertyChanged(); }
        //}

        //private string _DaoHan_Check;

        //public string DaoHan_Check
        //{
        //	get { return _DaoHan_Check; }
        //	set { _DaoHan_Check = value; OnPropertyChanged(); }
        //}

        //private string _ThongBao_NgayRut;
        //public string ThongBao_NgayRut
        //{
        //	get { return _ThongBao_NgayRut; }
        //	set { _ThongBao_NgayRut = value; OnPropertyChanged(); }
        //}

        //private string _NgayRut_Check;
        //public string NgayRut_Check
        //{
        //	get { return _NgayRut_Check; }
        //	set { _NgayRut_Check = value; OnPropertyChanged(); }
        //}
        ////DialogHost
        //private bool _DialogOpen;

        //public bool DialogOpen
        //{
        //	get { return _DialogOpen; }
        //	set { _DialogOpen = value; OnPropertyChanged(); }
        //}

        //private string _IsCancelVisible;
        //public string IsCancelVisible
        //{
        //	get { return _IsCancelVisible; }
        //	set { _IsCancelVisible = value; OnPropertyChanged(); }
        //}

        ////Quy Dinh
        //private string _QuyDinhRutTien;

        //public string QuyDinhRutTien
        //{
        //	get { return _QuyDinhRutTien; }
        //	set { _QuyDinhRutTien = value; OnPropertyChanged(); }
        //}


        //#endregion
        //#region Khoi tao
        ////Khoi tao viewmodel
        //public BanHang_ViewModel()
        //{
        //	CapNhatQuyDinh();
        //	Reset_Check();
        //	CreatePR = true;
        //	Result_KiemTraNhapLai = true;
        //	//Dat ngay rut theo ngay hom nay
        //	NgayRut = DateTime.Today.ToString("dd/MM/yyyy");
        //	//Khi click vao nut ben canh MSTK
        //	Click_MSTKCommand = new RelayCommand<Window>((p) => { return true; }, (p) =>
        //	{
        //		if (!CapNhatThongTin())
        //		{
        //			Result_KiemTraNhapLai = true;
        //			Result_KiemTraHopLe = false;
        //			ThongBao = "Lấy thông tin thất bại";
        //		}
        //		else
        //		{
        //			Result_KiemTraHopLe = false;
        //		}
        //	});
        //	//khi nhan enter o mo so
        //	STKEnterKeyDown_Command = new RelayCommand<Object>((p) => { return true; }, (p) =>
        //	 {
        //		 if (!CapNhatThongTin())
        //		 {
        //			 Result_KiemTraNhapLai = true;
        //			 Result_KiemTraHopLe = false;
        //			 ThongBao = "Lấy thông tin thất bại";
        //		 }
        //		 else
        //		 {
        //			 Result_KiemTraHopLe = false;
        //		 }
        //	 });
        //	//khi thay doi textbox MSTK
        //	MSTK_TextChangedCommand = new RelayCommand<TextBox>((p) => { return true; }, (p) =>
        //	{
        //		try
        //		{
        //			TenKhachHang = "";
        //			SoDu = "";
        //			CMND = "";
        //			TenLoaiTietKiem = "";
        //			NgayDaoHan = "";
        //			ThongBao = "";
        //			Result_KiemTraHopLe = false;
        //			Result_KiemTraNhapLai = true;
        //			ListLichSuGD = new ObservableCollection<ListLichSuPhieuRut>();
        //		}
        //		catch (Exception e)
        //		{

        //		}
        //	});
        //	//Lenh kiem tra tinh hop le
        //	KiemTraCommand = new RelayCommand<Button>((p) => { return true; }, (p) =>
        //	{
        //		if (!KiemTraHopLe())
        //		{
        //			Result_KiemTraHopLe = false;
        //			Result_KiemTraNhapLai = true;
        //			ThongBao = "Kiểm tra thất bại.";
        //		}
        //		else
        //		{
        //			if (Result_KiemTraHopLe == true)
        //			{
        //				DialogOpen = true;
        //				IsCancelVisible = "Collapsed";
        //				ThongBao = "Thông tin phiếu rút hợp lệ";
        //			}
        //		}
        //	});
        //	SoTienRutEnterKeyDown_Command = new RelayCommand<Object>((p) => { return true; }, (p) =>
        //	{
        //		if (!KiemTraHopLe())
        //		{
        //			Result_KiemTraHopLe = false;
        //			Result_KiemTraNhapLai = true;
        //			ThongBao = "Kiểm tra thất bại.";
        //		}
        //		else
        //		{
        //			if (Result_KiemTraHopLe == true)
        //			{
        //				DialogOpen = true;
        //				IsCancelVisible = "Collapsed";
        //				ThongBao = "Thông tin phiếu rút hợp lệ";
        //			}
        //		}
        //	});
        //	//Lenh thuc hien giao dich
        //	Click_GiaoDichCommand = new RelayCommand<Button>((p) => { return Result_KiemTraHopLe; }, (p) =>
        //	{
        //		if (!ThucHienGiaoDich())
        //		{
        //			ThongBao += "Không thể thưc hiện giao dịch do lỗi không xác định.";
        //		}
        //		else
        //		{
        //			Result_KiemTraHopLe = false;
        //			DialogOpen = true;
        //			IsCancelVisible = "Collapsed";
        //			ThongBao += "Đã tạo phiếu rút thành công.";
        //		}
        //	});
        //	STR_TextChangedCommand = new RelayCommand<TextBox>((p) => { return true; }, (p) =>
        //	{
        //		try
        //		{
        //			Result_KiemTraHopLe = false;
        //		}
        //		catch (Exception e)
        //		{

        //		}
        //	});
        //	TKH_TextChangedCommand = new RelayCommand<TextBox>((p) => { return true; }, (p) =>
        //	{
        //		try
        //		{
        //			Result_KiemTraHopLe = false;
        //		}
        //		catch (Exception e)
        //		{

        //		}
        //	});
        //	Click_CapNhatCommand = new RelayCommand<Button>((p) => { return !Result_KiemTraNhapLai; }, (p) =>
        //	{
        //		MessageBoxResult re = MessageBox.Show("Bạn có chắc muốn nhập lãi vào vốn? Tiến trình này không thể hoàn tác.", "Thông báo", MessageBoxButton.OKCancel);
        //		if (re == MessageBoxResult.OK)
        //		{
        //			if (!NhapLaiVaoVon.Ins.StartThis(MaSoTietKiem, true))
        //			{
        //				ThongBao = "Có lỗi xảy ra hoặc sổ tiết kiệm này đã được nhập lãi rồi!";
        //				DaoHan_Check = "Error";
        //				ThongBao_DaoHan = "Có lỗi xảy ra hoặc sổ tiết kiệm này đã được nhập lãi rồi!";
        //			}
        //			else
        //			{
        //				Result_KiemTraHopLe = false;
        //				//DaoHan_Check = "Check";
        //				//ThongBao_DaoHan = "Đã cập nhật lãi vào số dư";
        //				DialogOpen = true;
        //				IsCancelVisible = "Collapsed";
        //				ThongBao = "Đã cập nhật lãi vào số dư";
        //				if (!CapNhatThongTin())
        //				{
        //					SoTietKiem_Check = "Error";
        //					ThongBao_MaSo = "Lấy thông tin thất bại";
        //					ThongBao = "Lấy thông tin thất bại";
        //				}
        //				else
        //				{
        //					Result_KiemTraHopLe = false;
        //				}
        //			}
        //		}
        //	});
        //	Click_CopySoDuSTRCommand = new RelayCommand<Button>((p) => { return true; }, (p) =>
        //	{
        //		if(!Copy_SD_STR())
        //		{
        //			ThongBao = "Sao chép không thành công!";
        //		}
        //		else
        //		{

        //		}
        //	});
        //	DialogOK = new RelayCommand<Button>((p) => { return true; }, (p) =>
        //	{
        //		Result_Dialog = "OK";
        //		DialogOpen = false;
        //	});
        //	DialogCancel = new RelayCommand<Button>((p) => { return IsCancelVisible == "Visible"; }, (p) =>
        //	{
        //		Result_Dialog = "Cancel";
        //		DialogOpen = false;
        //	});

        //          Refresh = new RelayCommand<object>((p) => { return true; }, (p) =>
        //          {
        //              Reset_Check();
        //              MaSoTietKiem = "";
        //              SoTienRut = "";
        //              TenKhachHang = "";
        //          });
        //      }
        //public void Reset_Check()
        //{
        //	SoTietKiem_Check = "None";
        //	SoTienRut_Check = "None";
        //	DaoHan_Check = "None";
        //	NgayRut_Check = "None";
        //	ThongBao_DaoHan = "";
        //	ThongBao_MaSo = "";
        //	ThongBao_TienRut = "";
        //	ThongBao_NgayRut = "";
        //}
        //public bool BindingLichSu(string mastk)
        //{
        //	try
        //	{
        //		ListLichSuGD = new ObservableCollection<ListLichSuPhieuRut>();

        //		ObservableCollection<PHIEURUT> List_PR = new ObservableCollection<PHIEURUT>(DataProvider.Ins.DB.PHIEURUTs);
        //		var lichsu = from list in List_PR
        //					 where list.MaSoTietKiem == mastk
        //					 orderby list.MaPhieuRut descending
        //					 select new ListLichSuPhieuRut(list.MaPhieuRut, list.NgayRut.ToString("dd/MM/yyyy"), list.SoTienRut.ToString("0,000"));
        //		foreach (var ls in lichsu)
        //		{
        //			ListLichSuGD.Add(ls);
        //		}
        //		return true;
        //	}
        //	catch(Exception e)
        //	{
        //		return false;
        //	}
        //}
        //private bool CapNhatThongTin()
        //{
        //	try
        //	{
        //		Reset_Check();
        //		SOTIETKIEM temp = Tim_MSTK(MaSoTietKiem);
        //		if (temp != null)
        //		{
        //			if (temp.NgayDongSo == null)
        //			{
        //				TenLoaiTietKiem = Tim_MaLoaiTietKiem(temp.MaLoaiTietKiem).TenLoaiTietKiem;
        //				TenKhachHang = temp.TenKhachHang;
        //				if (temp.SoDu < 1000)
        //				{
        //					SoDu = temp.SoDu.ToString();
        //				}
        //				else
        //				{
        //					SoDu = temp.SoDu.ToString("0,000");
        //				}
        //				CMND = temp.SoCMND;
        //				if (Tim_MaLoaiTietKiem(temp.MaLoaiTietKiem).KyHan == 0)
        //				{
        //					NgayDaoHan = "Không xác định";
        //				}
        //				else
        //				{
        //					NgayDaoHan = temp.NgayDaoHanKeTiep.ToString("dd/MM/yyyy");
        //				}
        //				BindingLichSu(temp.MaSoTietKiem);
        //				KiemTraNhapLai();
        //				//SoTietKiem_Check = "Check";
        //				//ThongBao_MaSo = "Đã cập nhật thông tin sổ tiết kiệm.";
        //				//ThongBao = "Đã cập nhật thông tin sổ tiết kiệm.";
        //			}
        //			else
        //			{
        //				BindingLichSu(temp.MaSoTietKiem);
        //				//Thong bao da dong so o day
        //				SoTietKiem_Check = "Error";
        //				ThongBao_MaSo = "Sổ tiết kiệm này đã đóng!";
        //				ThongBao = "Sổ tiết kiệm này đã đóng!";
        //			}
        //		}
        //		else
        //		{
        //			if (!String.IsNullOrWhiteSpace(MaSoTietKiem))
        //			{
        //				SoTietKiem_Check = "Error";
        //				ThongBao_MaSo = "Mã STK không đúng hoặc không tồn tại, kiểm tra xem đã đúng định dạng hay chưa";
        //				ThongBao = "Không tìm thấy sổ tiết kiệm phù hợp!";
        //			}
        //			else
        //			{
        //				SoTietKiem_Check = "Error";
        //				ThongBao_MaSo = "Hãy nhập mã sổ tiết kiệm trước khi bấm kiểm tra!";
        //				ThongBao = "Hãy nhập mã sổ tiết kiệm trước khi bấm kiểm tra!";
        //			}
        //		}
        //		return true;
        //	}
        //	catch (Exception e)
        //	{
        //		return false;
        //	}
        //}
        //private bool KiemTraHopLe()
        //{
        //	Reset_Check();
        //	ThongBao = "";
        //	Result_KiemTraHopLe = true;
        //	try
        //	{
        //		if (decimal.Parse(SoTienRut) < 1000)
        //		{
        //		}
        //		else
        //		{
        //			SoTienRut = decimal.Parse(SoTienRut).ToString("0,000");
        //			Result_KiemTraHopLe = true;
        //		}
        //	}
        //	catch (Exception e)
        //	{

        //	}

        //	try
        //	{
        //		CapNhatThongTin();
        //		if(SoTietKiem_Check == "Error")
        //		{
        //			Result_KiemTraHopLe = false;
        //			Result_KiemTraNhapLai = true;
        //			return true;
        //		}
        //		SOTIETKIEM info_stk = Tim_MSTK(MaSoTietKiem);
        //		LOAITIETKIEM info_loaitietkiem = Tim_MaLoaiTietKiem(info_stk.MaLoaiTietKiem);
        //		if(info_stk.NgayMoSo.AddDays(info_loaitietkiem.ThoiGianGuiToiThieu) > DateTime.Today )
        //		{
        //			NgayRut_Check = "Error";
        //                  ThongBao_NgayRut = "Ngày mở sổ là: " + info_stk.NgayMoSo.ToString("dd/MM/yyyy") + ". Chưa đủ số ngày gửi tối thiểu (" + info_loaitietkiem.ThoiGianGuiToiThieu.ToString() + " ngày)"; ;
        //			//ThongBao += "Chưa đủ số ngày gửi tối thiểu.\n";
        //			Result_KiemTraHopLe = false;
        //		}
        //		else
        //		{
        //			//NgayRut_Check = "Check";
        //			//ThongBao_NgayRut = "Đã đủ số ngày gửi tối thiểu";
        //			if (!KiemTraNhapLai())
        //			{
        //				DaoHan_Check = "Error";
        //				ThongBao_DaoHan = "Lỗi, không xác định được thông tin đáo hạn.";
        //				ThongBao += "Lỗi, không xác định được thông tin đáo hạn.\n";
        //				Result_KiemTraHopLe = false;
        //			}
        //			else
        //			{
        //				if(Result_KiemTraNhapLai == false)
        //				{
        //					DaoHan_Check = "Error";
        //					ThongBao_DaoHan = "Cần nhập lãi trước khi rút.";
        //					ThongBao += "Cần nhập lãi trước khi rút.\n";
        //					Result_KiemTraHopLe = false;
        //				}
        //				else
        //				{
        //					//DaoHan_Check = "Check";
        //					//ThongBao_DaoHan = "Đã nhập lãi vào sổ này rồi";
        //				}
        //			}
        //		}
        //		if (String.IsNullOrWhiteSpace(SoTienRut))
        //		{
        //			SoTienRut_Check = "Error";
        //			ThongBao_TienRut = "Vui lòng nhập số tiền rút.";
        //			ThongBao += "Vui lòng nhập số tiền rút.\n";
        //			Result_KiemTraHopLe = false;
        //		}
        //		else
        //		{
        //			if (check_hasaWhiteSpace(SoTienRut))
        //			{
        //				SoTienRut_Check = "Error";
        //				ThongBao_TienRut += "Số tiền không thể chứa khoảng trắng";
        //				Result_KiemTraHopLe = false;
        //			}
        //			else
        //			{
        //				if (decimal.Parse(SoTienRut) < 1000)
        //				{
        //					SoTienRut_Check = "Error";
        //					ThongBao_TienRut += "Không thể rút số tiền ít hơn 1000 đồng.";
        //					Result_KiemTraHopLe = false;
        //				}
        //				else
        //				{
        //					if (info_loaitietkiem.QuyDinhSoTienRut == "Rút hết" && decimal.Parse(SoTienRut) < decimal.Parse(SoDu))
        //					{
        //						SoTienRut_Check = "Error";
        //						ThongBao_TienRut += "Loại tiết kiệm có kì hạn phải rút toàn bộ.\n";
        //						ThongBao += "Loại tiết kiệm có kì hạn phải rút toàn bộ.\n";
        //						Result_KiemTraHopLe = false;
        //					}
        //					else
        //					{
        //						if (decimal.Parse(SoTienRut) > decimal.Parse(SoDu))
        //						{
        //							SoTienRut_Check = "Error";
        //							ThongBao_TienRut += "Không thể rút nhiều hơn số dư tài khoản.\n";
        //							ThongBao += "Không thể rút nhiều hơn số dư tài khoản.\n";
        //							Result_KiemTraHopLe = false;
        //						}
        //						else
        //						{
        //							//SoTienRut_Check = "Check";
        //							//ThongBao_TienRut = "Có thể rút số tiền này.";
        //						}
        //					}
        //				}
        //			}
        //		}
        //		return true;
        //	}
        //	catch (Exception e)
        //	{
        //		Result_KiemTraHopLe = false;
        //		return false;
        //	}
        //}
        //private bool KiemTraNhapLai()
        //{
        //	try
        //	{
        //		Result_KiemTraNhapLai = true;
        //		SOTIETKIEM info_stk = Tim_MSTK(MaSoTietKiem);
        //		LOAITIETKIEM info_loaitietkiem = Tim_MaLoaiTietKiem(info_stk.MaLoaiTietKiem);
        //		if (info_stk.NgayMoSo.AddDays(info_loaitietkiem.ThoiGianGuiToiThieu) > DateTime.Today)
        //		{
        //			//khong the tinh lai do chua du so ngay gui toi thieu (xem quy dinh)
        //		}
        //		else
        //		{
        //			if (info_loaitietkiem.KyHan != 0)
        //			{
        //				if (info_stk.NgayDaoHanKeTiep < DateTime.Today.AddDays(info_loaitietkiem.KyHan))
        //				{
        //					Result_KiemTraHopLe = false;
        //					Result_KiemTraNhapLai = false;
        //				}
        //			}
        //			else
        //			{
        //				if (info_stk.NgayDaoHanKeTiep != DateTime.Today.AddDays(1))
        //				{
        //					Result_KiemTraHopLe = false;
        //					Result_KiemTraNhapLai = false;
        //				}
        //			}
        //		}
        //		return true;
        //	}
        //	catch(Exception e)
        //	{
        //		Result_KiemTraNhapLai = true;
        //		return false;
        //	}
        //}
        //private bool ThucHienGiaoDich()
        //{
        //	try
        //	{
        //		ThongBao = "";
        //		PHIEURUT info_PhieuRut = new PHIEURUT();
        //		if (DataProvider.Ins.DB.PHIEURUTs.Count() == 0)
        //		{
        //			info_PhieuRut.MaPhieuRut = "PR0000001";
        //		}
        //		else
        //		{
        //			info_PhieuRut.MaPhieuRut = "PR0000000";
        //			decimal temp_dem = DataProvider.Ins.DB.PHIEURUTs.Count();
        //			string temp = (temp_dem+1).ToString();
        //			info_PhieuRut.MaPhieuRut = info_PhieuRut.MaPhieuRut.Remove(9 - temp.Length, temp.Length) + temp;
        //		}
        //		info_PhieuRut.MaSoTietKiem = this.MaSoTietKiem;
        //		info_PhieuRut.NgayRut = DateTime.Today;
        //		info_PhieuRut.SoTienRut = decimal.Parse(this.SoTienRut);
        //		DataProvider.Ins.DB.PHIEURUTs.Add(info_PhieuRut);
        //		DataProvider.Ins.DB.SaveChanges();

        //		SOTIETKIEM stk = DataProvider.Ins.DB.SOTIETKIEMs.Where(x => x.MaSoTietKiem == this.MaSoTietKiem).Single();
        //		stk.SoDu -= decimal.Parse(this.SoTienRut);
        //		if(stk.SoDu<1)
        //		{
        //			stk.SoDu = 0;
        //		}
        //		DataProvider.Ins.DB.SaveChanges();

        //		if (CreatePR == true)
        //		{
        //			BanHang_PrintPreview_ViewModel PhieuRutVM = new BanHang_PrintPreview_ViewModel(info_PhieuRut.MaPhieuRut, TenKhachHang, info_PhieuRut.NgayRut.ToString("dd/MM/yyyy"), info_PhieuRut.SoTienRut.ToString());
        //			BanHang_PrintPreview PhieuRut = new BanHang_PrintPreview(PhieuRutVM);
        //			PhieuRut.ShowDialog();
        //		}

        //		if (stk.SoDu < 1)
        //		{
        //			DongSoTuDong(info_PhieuRut.MaSoTietKiem);
        //		}
        //		CapNhatThongTin();
        //		TenKhachHang = "";
        //		SoDu = "";
        //		CMND = "";
        //		TenLoaiTietKiem = "";
        //		NgayDaoHan = "";
        //		Result_KiemTraHopLe = false;
        //		Result_KiemTraNhapLai = true;
        //		SoTienRut = "";

        //		return true;
        //	}
        //	catch(Exception e)
        //	{
        //		return false;
        //	}
        //}
        //private bool DongSoTuDong(string mstk)
        //{
        //	try
        //	{
        //		if(GetThamSo("Đóng sổ tự động") == 1)
        //		{
        //			SOTIETKIEM temp = DataProvider.Ins.DB.SOTIETKIEMs.Where(x => x.MaSoTietKiem == mstk).Single();
        //			temp.NgayDongSo = DateTime.Today;
        //			DataProvider.Ins.DB.SaveChanges();
        //			ThongBao = "Đã đóng sổ tiết kiệm.\n";
        //		}
        //		else
        //		{
        //			ThongBao = "Đã rút tiền thành công.\n";
        //		}
        //		return true;
        //	}
        //	catch (Exception e)
        //	{
        //		return false;
        //	}
        //}
        //private bool Copy_SD_STR()
        //{
        //	try
        //	{
        //		SoTienRut = SoDu.Replace(",", "");
        //		return true;
        //	}
        //	catch(Exception e)
        //	{
        //		return false;
        //	}
        //}
        //private void CapNhatQuyDinh()
        //{
        //	QuyDinhRutTien = "Loại tiết kiệm có kỳ hạn chỉ được rút khi quá kỳ hạn và phải rút hết toàn bộ, khi này tiền lãi được tính với mức lãi suất của loại không kỳ hạn.\n"
        //					+ "Loại tiết kiệm không kỳ hạn được rút khi gửi trên số ngày tối thiểu theo quy định và có thể rút số tiền nhỏ hơn hoặc bằng số dư hiện có.\n";
        //	if (GetThamSo("Đóng sổ tự động") == 1)
        //	{
        //		QuyDinhRutTien += "Sổ sau khi rút hết tiền sẽ tự động đóng.";
        //	}
        //	else
        //	{
        //	}
        //}
        ////Ham ben duoi duoc lay tu MoSo
        //private bool check_hasaWhiteSpace(string chuoi)
        //{
        //	if (chuoi == null) return false;
        //	foreach (var item in chuoi)
        //		if (item == ' ')
        //			return true;
        //	return false;
        //}
        //#endregion
        //#region Cac ham xu li database
        ////lay ra so tiet kiem khi biet Ma so tiet kiem
        //private SOTIETKIEM Tim_MSTK(string mstk)
        //{
        //	List<SOTIETKIEM> List_SoTietKiem = DataProvider.Ins.DB.SOTIETKIEMs.ToList();
        //	foreach (SOTIETKIEM stk in List_SoTietKiem)
        //	{
        //		if (stk.MaSoTietKiem == mstk)
        //			return stk;
        //	}
        //	return null;
        //}
        ////lay ra loai tiet kiem tu ma loai tiet kiem
        //private LOAITIETKIEM Tim_MaLoaiTietKiem(string mltk)
        //{
        //	List<LOAITIETKIEM> List_LoaiTietKiem = DataProvider.Ins.DB.LOAITIETKIEMs.ToList();
        //	foreach (LOAITIETKIEM ltk in List_LoaiTietKiem)
        //	{
        //		if (ltk.MaLoaiTietKiem == mltk)
        //			return ltk;
        //	}
        //	return null;
        //}
        ////lay ra tham so can tim
        //private decimal GetThamSo(string tenthamso)
        //{
        //	List<THAMSO> List_ThamSo = DataProvider.Ins.DB.THAMSOes.ToList();
        //	foreach(THAMSO ts in List_ThamSo)
        //	{
        //		if (ts.TenThamSo == tenthamso)
        //			return ts.GiaTri;
        //	}
        //	return -1;
        //}
        //      #endregion
        #endregion

        // new code from this hihi
        //Chua Connect NhanVien
        #region Init Funtions
        public void save_HoaDon()
        {
            HOADON hd = new HOADON()
            {
                MaHoaDon   = MaHD,
                NgayLap    = DateTime.Now,
                ThoiGian   = new TimeSpan(),
                MaQuay     = LoginViewModel.Quay.MaQuay,
                TongTien   = decimal.Parse(TongTien),
                MaNguoiLap = "1"
            };

            DataProvider.Ins.DB.HOADONs.Add(hd);
            DataProvider.Ins.DB.SaveChanges();

            #region
            foreach (var mh in ListMatHang)
            {
                CT_HOADON ct = new CT_HOADON()
                {
                    MaChiTietHoaDon = create_MaCTHD(),
                    MaMH            = mh.MaMH,
                    MaHoaDon        = MaHD,
                    SoLuong         = int.Parse(mh.SoLuong),
                    DonGiaBan       = decimal.Parse(mh.DonGia),
                    GhiChu          = "",
                };
                DataProvider.Ins.DB.CT_HOADON.Add(ct);
                DataProvider.Ins.DB.SaveChanges();
            }
            #endregion
        }
Exemple #2
0
 public ChiTietHoaDon(int stt, CT_HOADON ct)
 {
     this.STT       = stt + "";
     this.MaMH      = ct.MaMH;
     this.TenMH     = ct.MATHANG.TenMH;
     this.SoLuong   = ct.SLMua + "";
     this.DonGia    = ct.DonGia?.ToString("0,000");
     this.ThanhTien = ct.TongTien?.ToString("0,000");
 }
Exemple #3
0
 public bool themCTHD(CT_HOADON cthd)
 {
     try
     {
         qlhd.CT_HOADONs.InsertOnSubmit(cthd);
         qlhd.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Exemple #4
0
        private void btnthanhtoan_Click(object sender, EventArgs e)
        {
            if (txt_tientra.Text != "" && cthdgv.Rows.Count != 0)
            {
                SANPHAMBUS       spbus     = new SANPHAMBUS();
                HOADON           hd        = new HOADON();
                HOADONBUS        hdbus     = new HOADONBUS();
                KHACHHANGBUS     khbus     = new KHACHHANGBUS();
                List <CT_HOADON> list_cthd = new List <CT_HOADON>();
                hd.MAKHTT    = txt_makhach.Text;
                hd.NGAYXUAT  = DateTime.Today;
                hd.THANHTIEN = Int32.Parse(txt_tongtiensaugiam.Text.ToString());
                foreach (DataGridViewRow row in cthdgv.Rows)
                {
                    CT_HOADON CTHD = new CT_HOADON();
                    CTHD.IDSANPHAM = int.Parse(row.Tag.ToString());
                    CTHD.SL        = int.Parse(row.Cells[1].Value.ToString());
                    CTHD.TONG      = int.Parse(row.Cells[3].Value.ToString());
                    list_cthd.Add(CTHD);
                    spbus.CapNhatSLBayBanSP(CTHD.IDSANPHAM, CTHD.SL);
                }
                if (hdbus.ThemHoaDon(hd, list_cthd))
                {
                    if (txt_makhach.Text != "")
                    {
                        int diemcong = (int)(hd.THANHTIEN / 200000);
                        if (khbus.UpdateDiemTL(txt_makhach.Text, diemcong))
                        {
                            if (KHACHHANGDAO.trudiemtichluy)
                            {
                                MessageBox.Show("Khách hàng đã đủ số điểm tích lũy cần thiết để nhận Voucher. Hãy cấp Voucher trị giá 200.000 đồng cho khách hàng. Điểm tích lũy sẽ được trừ đi.");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Lỗi:" + KHACHHANGDAO.error_message);
                        }
                    }
                    MessageBox.Show("Thanh toán thành công!");

                    btnxoa.PerformClick();
                }

                else
                {
                    MessageBox.Show("Lỗi:" + HOADONDAO.error_message);
                }
            }
        }
Exemple #5
0
        public ActionResult Purchase(double total, int mauser)
        {
            Cart cart = Session["Cart"] as Cart;
            var  user = database.USERS.Where(s => s.MaUser == mauser).FirstOrDefault();

            if (user.SoTienTK > total)
            {
                //tạo hóa đơn
                HOADON hoadon = new HOADON();
                hoadon.NgayMua = DateTime.Now;
                hoadon.MaUser  = mauser;
                database.Configuration.ValidateOnSaveEnabled = false;
                database.HOADONs.Add(hoadon);
                database.SaveChanges();

                //tạo chi tiết hóa đơn, thanh toán
                foreach (var item in cart.Items)
                {
                    CT_HOADON cthd = new CT_HOADON();
                    cthd.SoLuong = item._quantity;
                    cthd.MaHH    = item._product.MaHH;
                    cthd.MaHD    = hoadon.MaHD;
                    database.Configuration.ValidateOnSaveEnabled = false;
                    database.CT_HOADON.Add(cthd);


                    var hang = database.HANGs.Where(s => s.MaHH == item._product.MaHH).FirstOrDefault();
                    hang.SoLuong -= item._quantity;
                    if (hang.SoLuong == 0)
                    {
                        hang.TrangThai = false;
                    }
                    database.Entry(hang).State = System.Data.Entity.EntityState.Modified;
                    database.SaveChanges();

                    user.DiemThuong += item._product.DIEMTHUONG.SoDT * item._quantity;
                }
                user.SoTienTK -= total;
                database.Entry(user).State = System.Data.Entity.EntityState.Modified;
                database.SaveChanges();
                cart.ClearCart();
            }
            else
            {
                TempData["msgError"] = "<script>alert('You don't have enough money!');</script>";
                return(RedirectToAction("ShowCart", "ShoppingCart"));
            }
            return(RedirectToAction("SuccessPayment"));
        }
Exemple #6
0
        public CT_HOADON toCT_HoaDon()
        {
            CT_HOADON cthd = Context.getInstance().db.CT_HOADON.Where(key => key.MaHoaDon == MaHoaDon).Where(key => key.MaLinhKien == MaLinhKien).FirstOrDefault();

            if (cthd == null)
            {
                cthd            = new CT_HOADON();
                cthd.MaHoaDon   = MaHoaDon;
                cthd.MaLinhKien = MaLinhKien;
            }
            cthd.SoLuong   = SoLuong;
            cthd.ThanhTien = ThanhTien;
            cthd.GhiChu    = GhiChu;
            return(cthd);
        }
        private void btn_themct_Click(object sender, EventArgs e)
        {
            //kiểm tra rỗng
            if (txt_mahd.Text == "" || txt_macthd.Text == "" || txt_sl.Text == "" || txtdongia.Text == "" || txt_tg.Text == "")
            {
                MessageBox.Show("Không được để trống");
                return;
            }
            //kiểm tra trùng
            PHIEUBAOHANH p  = new PHIEUBAOHANH();
            CT_HOADON    bb = new CT_HOADON();
            var          kt = from s in ql.CT_HOADONs where s.MA_CTHD == txt_macthd.Text select s;

            if (kt.Count() > 0)
            {
                MessageBox.Show("Trùng khóa chính");
                return;
            }

            bb.MA_CTHD     = txt_macthd.Text;
            bb.MAHD        = hoaDon1DataGridView.CurrentRow.Cells[0].Value.ToString();
            bb.MASP        = txtmasp.Text;
            bb.SOLUONGMUA  = Convert.ToInt32(txt_sl.Text);
            bb.DONGIAHANG  = Convert.ToDecimal(txtdongia.Text);
            bb.THANHTIENHD = 0;
            ql.CT_HOADONs.InsertOnSubmit(bb);
            var ktbh = from s in ql.PHIEUBAOHANHs where s.MA_PBH == txt_macthd.Text select s;

            if (kt.Count() > 0)
            {
                MessageBox.Show("Trùng khóa chính");
                return;
            }
            p.MA_PBH      = txt_macthd.Text;
            p.NGAYTAO_PBH = Convert.ToDateTime(ed_nglap.Text);
            p.GHICHU      = null;
            p.THOIGIAN_BH = txt_tg.Text;
            ql.PHIEUBAOHANHs.InsertOnSubmit(p);
            ql.SubmitChanges();
            //this.banHangTableAdapter.Fill_bh(this.fPT_SHOPDataSet.BanHang, txt_mahd.Text);
            frm_banHang_Load(sender, e);
            MessageBox.Show("Thành công");
        }
Exemple #8
0
        public CT_HOADON toCT_HoaDon(string seri)
        {
            CT_HOADON cthd = Context.getInstance().db.CT_HOADON.Where(key => key.MaHoaDon == MaHoaDon).Where(key => key.MaLinhKien == MaLinhKien).FirstOrDefault();

            if (cthd == null)
            {
                cthd            = new CT_HOADON();
                cthd.MaHoaDon   = MaHoaDon;
                cthd.MaLinhKien = MaLinhKien;
            }
            cthd.SoLuong   = SoLuong;
            cthd.ThanhTien = ThanhTien;
            cthd.GhiChu    = GhiChu;
            cthd.Seri      = seri;
            cthd.Thue      = Thue;
            cthd.LoiNhuan  = LoiNhuan;
            cthd.GiaBan    = GiaBan;
            cthd.TinhTrang = TinhTrang;
            return(cthd);
        }
Exemple #9
0
        private static CT_HOADON getCTHD(CT_HOADON x)
        {
            CT_HOADON ct = Context.getInstance().db.CT_HOADON.Where(key => key.MaHoaDon == x.MaHoaDon)
                           .Where(key => key.MaLinhKien == x.MaLinhKien)
                           .Where(key => key.Seri == x.Seri)
                           .FirstOrDefault();

            if (ct == null)
            {
                ct = new CT_HOADON();
            }
            ct.ThanhTien = x.ThanhTien;
            ct.Thue      = x.Thue;
            ct.TinhTrang = x.TinhTrang;
            ct.SoLuong   = x.SoLuong;
            ct.GiaBan    = x.GiaBan;
            ct.LoiNhuan  = x.LoiNhuan;
            ct.GhiChu    = x.GhiChu;
            return(ct);
        }
        void itemsp_picturebox(object sender, EventArgs e)
        {
            PictureBox pc = (PictureBox)sender;

            if (lstChiTiet == null)
            {
                MessageBox.Show("Chưa tạo hóa đơn");
                return;
            }
            string[] mavagia = pc.Tag.ToString().Split(',');

            CT_HOADON cthd = new CT_HOADON();

            cthd.MAHD = " ";

            cthd.MASP      = mavagia[0];
            cthd.SOLUONG   = 1;
            cthd.THANHTIEN = Convert.ToInt32(mavagia[1]);

            if (!checkHD(mavagia[0]))
            {
                MessageBox.Show("Đã chọn sản phẩm này !");
                return;
            }

            lstChiTiet.Add(cthd);

            usChiTietHD usChiTiet = new usChiTietHD();

            usChiTiet.setValue(mavagia[0]);
            usChiTiet.Tag             = mavagia[0];
            usChiTiet.btnTangGiam.Tag = mavagia[0];
            usChiTiet.btnHuy.Tag      = mavagia[0];

            pnChiTietHD.Controls.Add(usChiTiet);
            usChiTiet.btnTangGiam.Click += BtnTangGiam_Click;;
            usChiTiet.btnHuy.Click      += BtnHuy_Click;;
            capnhapTongTien();
        }
Exemple #11
0
        public List <CT_HOADON> toList_CT_HoaDon()
        {
            List <CT_HOADON> lst = new List <CT_HOADON>();

            foreach (var item in SoSeri)
            {
                CT_HOADON cthd = new CT_HOADON();
                cthd.MaHoaDon   = MaHoaDon;
                cthd.MaLinhKien = MaLinhKien;
                cthd.SoLuong    = SoLuong;
                cthd.ThanhTien  = ThanhTien;
                cthd.GhiChu     = GhiChu;
                cthd.Seri       = item;
                cthd.Thue       = Thue;
                cthd.LoiNhuan   = LoiNhuan;
                cthd.GiaBan     = GiaBan;
                cthd.TinhTrang  = TinhTrang;
                lst.Add(cthd);
            }

            return(lst);
        }
Exemple #12
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (btnLuu.Text == "Thanh toán") //lưu hóa đơn
            {
                if (txtThanhToan.Text == "")
                {
                    MessageBox.Show("Hãy nhập số tiền khách thanh toán !!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    txtThanhToan.Focus();
                }
                else //nhập tiền thanh toán mới cho thanh toán
                {
                    string mahd = "";
                    timerDem.Stop();
                    HOADON hd = new HOADON();
                    mahd    = "HD" + XuLy.TaoMaRandom.taoMaRandom();
                    hd.MaHD = mahd;
                    hd.MaNV = hoadon_bll.layMaNV(tendn);
                    //hd.MaKH = makhach; //thêm khách hàng trước

                    hd.TienBan = tienban;
                    hd.MaBan   = maban;
                    hd.NgayLap = DateTime.Now.Date;

                    hd.GioDatBan = giovao;
                    hd.GioTraBan = giora;
                    hd.TGChoi    = String.Format("{0:hh\\:mm\\:ss}", tgchoi);
                    MessageBox.Show("Thời gian khách chơi là: " + tgchoi.ToString(), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    hoadon_bll.themHoaDon(hd);
                    List <CTHoaDonReport> ds = new List <CTHoaDonReport>();

                    for (int i = 0; i < dtgvCTHD.Rows.Count; i++)
                    {
                        //thêm chi tiết nhiều lần
                        float  sltemp = float.Parse(dtgvCTHD.Rows[i].Cells["SL"].Value.ToString());
                        float  dgtemp = float.Parse(dtgvCTHD.Rows[i].Cells["DG"].Value.ToString());
                        string mahang = dtgvCTHD.Rows[i].Cells["MaHang"].Value.ToString();

                        hanghoa_bll.capNhatSLTonHH(mahang, sltemp); //trừ đi số lượng của mặt hàng đó

                        CT_HOADON cthd = new CT_HOADON();
                        cthd.MaHD       = mahd;
                        cthd.MaHang     = mahang;
                        cthd.DonGiaBan  = dgtemp;
                        cthd.SoLuongBan = sltemp;
                        cthd.ThanhTien  = sltemp * dgtemp;

                        CTHoaDonReport cthdrp = new CTHoaDonReport();
                        cthdrp.TenHang   = hanghoa_bll.layTenHang(mahang);
                        cthdrp.DonGia    = dgtemp;
                        cthdrp.SoLuong   = sltemp;
                        cthdrp.DonViTinh = hanghoa_bll.layDonViTinh(mahang);
                        cthdrp.ThanhTien = sltemp * dgtemp;

                        ds.Add(cthdrp);

                        hoadon_bll.themCTHD(cthd);
                    }

                    float thueVAT   = float.Parse(txtThue.Text);
                    float tiendv    = float.Parse(txtDichVu.Text);
                    float tonggt    = float.Parse(txtChuyenBan.Text) + float.Parse(txtDichVu.Text) + float.Parse(txtTienBan.Text) + tienchuyenban;
                    float thanhtien = float.Parse(txtThanhTien.Text);
                    float tienno    = float.Parse(txtTienNo.Text);

                    if (hoadon_bll.capnhatHDBan(mahd, tienchuyenban, tiendv, thueVAT, tonggt, thanhtien, tienno))
                    {
                        MessageBox.Show("Thanh toán của " + txtTenBan.Text + " thành công !!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        clearDGVGioHang();
                        ban.capNhatTrangThai(maban, "Đang dọn dẹp");
                        loadTheoTen(TenHang);

                        //đã thanh toán rồi thì xóa tạm tính của bàn đó
                        xoaCTTT(matamtinh);
                        tamtinh_bll.xoaTamTinh(matamtinh);

                        check = 1;

                        //in hóa đơn
                        FromInHoaDon frm  = new FromInHoaDon();
                        HoaDonRP     hdrp = new HoaDonRP();
                        hdrp.MaHD          = mahd;
                        hdrp.MaNV          = hoadon_bll.layMaNV(tendn);
                        hdrp.MaBan         = maban;
                        hdrp.GioVao        = giovao;
                        hdrp.GioRa         = giora;
                        hdrp.NgayLap       = String.Format("{0:M/d/yyyy}", DateTime.Now);
                        hdrp.TienBan       = tienban;
                        hdrp.TienChuyenBan = tienchuyenban;
                        hdrp.TongTien      = thanhtien;
                        hdrp.TienThanhToan = float.Parse(txtThanhToan.Text);
                        hdrp.ConNo         = tienno;

                        MessageBox.Show("Hãy chờ hóa đơn được in", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        frm.inHoaDon(hdrp, ds);
                        frm.ShowDialog();
                    }
                    else
                    {
                        MessageBox.Show("Thanh toán thất bại !!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
            }
            else //lưu vào tạm tính
            {
                luuTamTinh();
            }
        }
Exemple #13
0
 public bool themCTHD(CT_HOADON cthd)
 {
     return(hoadon_DAL.themCTHD(cthd));
 }
Exemple #14
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";
        }
Exemple #15
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            int    dem  = 0;
            string mahd = "";

            for (int i = 0; i < DGV_GioHang.Rows.Count; i++)
            {
                int tongtien = int.Parse(txtTongTien.Text);
                if (tongtien > 0) //có mua hàng
                {
                    dem += 1;
                    if (dem == 1)
                    {
                        //thêm hóa đơn 1 lần
                        HOADON hd = new HOADON();
                        mahd       = "HD" + XuLy.TaoMaRandom.taoMaRandom();
                        hd.MaHD    = mahd;
                        hd.MaNV    = hoadon_BLL.layMaNV(tendn);
                        hd.NgayLap = DateTime.Now;
                        hoadon_BLL.themHoaDon(hd);
                        hd.MaKH = "KH001"; //mặc định khách hàng có mã KH001 là khách lẻ
                    }

                    //thêm chi tiết hóa đơn nhiều lần
                    CT_HOADON cthd = new CT_HOADON();
                    cthd.MaHD       = mahd;
                    cthd.MaHang     = DGV_GioHang.Rows[i].Cells[0].Value.ToString();
                    cthd.SoLuongBan = float.Parse(DGV_GioHang.Rows[i].Cells[2].Value.ToString());
                    cthd.DonGiaBan  = float.Parse(DGV_GioHang.Rows[i].Cells[3].Value.ToString());
                    cthd.ThanhTien  = (float.Parse(DGV_GioHang.Rows[i].Cells[2].Value.ToString())) * (float.Parse(DGV_GioHang.Rows[i].Cells[3].Value.ToString()));
                    hoadon_BLL.themCTHD(cthd);

                    //cập nhật số lượng tồn của hàng hóa
                    float  soluongban = float.Parse(DGV_GioHang.Rows[i].Cells[2].Value.ToString());
                    string mahh       = DGV_GioHang.Rows[i].Cells[0].Value.ToString();
                    if (hanghoa_BLL.capNhatSLTonHH(mahh, soluongban))
                    {
                        MessageBox.Show("Thêm 1 chi tiết hóa đơn thành công !!");
                    }
                    else
                    {
                        MessageBox.Show("Thêm 1 chi tiết hóa đơn thất bại !!");
                    }
                }
            }

            if (dem > 0) //chắc chắn đã tạo hóa đơn
            {
                //cập nhập tổng giá trị, tiền nợ cho hóa đơn
                if (hoadon_BLL.capNhapHDKhachMuaLe(mahd, float.Parse(txtTongTien.Text), float.Parse(txtConNo.Text)))
                {
                    MessageBox.Show("Lưu hóa đơn thành công !!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    loadTheoTen("");
                    clearDGVGioHang();
                }
                else
                {
                    MessageBox.Show("Lưu hóa đơn thất bại !!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }
        }
Exemple #16
0
        public static bool update_HoaDon(HoaDon_View hd, DataUpdate <CT_HOADON> list_Change, decimal tongTien_old)
        {
            using (var transaction = Context.getInstance().db.Database.BeginTransaction())
            {
                try
                {
                    Context.getInstance().db.Entry(hd.toHoaDon()).State = System.Data.Entity.EntityState.Modified;

                    list_Change.Inserts.ForEach(x =>
                    {
                        CT_HOADON ct = Context.getInstance().db.CT_HOADON.Where(key => key.MaHoaDon == x.MaHoaDon)
                                       .Where(key => key.MaLinhKien == x.MaLinhKien)
                                       .Where(key => key.Seri == x.Seri)
                                       .FirstOrDefault();
                        if (ct != null)
                        {
                            ct.TinhTrang = 1;
                            Context.getInstance().db.Entry(ct).State = System.Data.Entity.EntityState.Modified;
                        }
                        else
                        {
                            x.TinhTrang = 1;
                            Context.getInstance().db.Entry(x).State = System.Data.Entity.EntityState.Added;
                        }

                        //xoa trong kho
                        KHO kho       = Context.getInstance().db.KHOes.Where(key => key.MaLinhKien == x.MaLinhKien).Where(k => k.Seri == x.Seri).FirstOrDefault();
                        kho.TrangThai = 0;
                        Context.getInstance().db.Entry(kho).State = System.Data.Entity.EntityState.Modified;
                    });

                    list_Change.Updates.ForEach(x =>
                    {
                        x.TinhTrang = 1;
                        Context.getInstance().db.Entry(getCTHD(x)).State = System.Data.Entity.EntityState.Modified;
                    });

                    list_Change.Deletes.ForEach(x =>
                    {
                        //set trang thai = 0 o day
                        x.TinhTrang = 0;
                        Context.getInstance().db.Entry(getCTHD(x)).State = System.Data.Entity.EntityState.Modified;

                        //them trong kho
                        KHO kho       = Context.getInstance().db.KHOes.Where(key => key.MaLinhKien == x.MaLinhKien).Where(k => k.Seri == x.Seri).FirstOrDefault();
                        kho.TrangThai = 1;
                        Context.getInstance().db.Entry(kho).State = System.Data.Entity.EntityState.Modified;
                    });


                    //update so tien mua hang cua khach hang
                    KHACHHANG kh = Context.getInstance().db.KHACHHANGs.Where(key => key.MaKhachHang == hd.MaKhachHang).FirstOrDefault();
                    kh.Tong += hd.TongTien;
                    kh.Tong -= tongTien_old;
                    Context.getInstance().db.Entry(kh).State = System.Data.Entity.EntityState.Modified;

                    //update so luong ban hang cua nhan vien
                    NHANVIEN mNV = Context.getInstance().db.NHANVIENs.Where(key => key.MaNhanVien == hd.MaNhanVien).FirstOrDefault();
                    mNV.TongTien += hd.TongTien;
                    mNV.TongTien -= tongTien_old;
                    Context.getInstance().db.Entry(mNV).State = System.Data.Entity.EntityState.Modified;

                    Context.getInstance().db.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Context.Refresh();
                    Console.WriteLine("ERROR--------------------------------------" + ex.Message);
                    return(false);
                }
            }
            return(true);
        }