//Delete Staff public static bool DeleteStaff(string _MaNV) { //Check esxit if (UntilitiesDataAccess.CheckExist("tbl_HOADON", "NguoiLap_HD", _MaNV)) { return(false); } if (UntilitiesDataAccess.CheckExist("tbl_LICHSUBANHANG", "NhanVienThucHien_LSBH", _MaNV)) { return(false); } if (UntilitiesDataAccess.CheckExist("tbl_PHIEUNHAP", "NguoiNhap_PN", _MaNV)) { return(false); } SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Xóa nhân viên]"; _cmd.Parameters.AddWithValue("@MaNV_NV", _MaNV); return(conn.Execute(_cmd)); }
//Sinh mã theo tên nhập vào public static string AutoGenerateIDinInputString(DataTable _dt, string _strIn) { int _length = 4;//độ dài _strIn = UntilitiesDataAccess.RemoveSign4VietnameseString(_strIn.Trim()); string _strOut = ""; string[] _strSplit = _strIn.Split(' '); if (_strSplit.Length == 1) { _strOut = _strIn.ToUpper(); //Nếu độ dài vượt quá thì cắt if (_strOut.Length > 4) { _strOut = _strOut.Remove(_length); } //Kiểm tra trong csdl int i = 1; while (CheckExistWithDatatable(_dt, "MaNSP_NSP", _strOut + ((i == 1) ? "" : i.ToString()))) { i++; } _strOut = _strOut + ((i == 1) ? "" : i.ToString()); } else { //Lấy kí tự đầu mỗi từ foreach (string _str in _strSplit) { _strOut = _strOut + _str[0]; } //Nếu độ dài vượt quá thì cắt if (_strOut.Length > 4) { _strOut = _strOut.Remove(_length); } //Kiểm tra trong csdl int i = 1; while (CheckExistWithDatatable(_dt, "MaNSP_NSP", _strOut + ((i == 1) ? "" : i.ToString()))) { i++; } _strOut = _strOut + ((i == 1) ? "" : i.ToString()); } return(_strOut.ToUpper()); }
//Xóa nhóm khách hàng public static bool XoaNhomKhachHang(string _MaNKH) { if (UntilitiesDataAccess.CheckExist("tbl_KHACHHANG", "Ma_NHK_KH", _MaNKH)) { return(false); } SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Xóa nhóm khách hàng]"; _cmd.Parameters.AddWithValue("@MaNKH_NKH", _MaNKH); return(conn.Execute(_cmd)); }
//XÓA NHÀ CUNG CẤP public static bool XoaNhaCungCap(string _MaNCC) { if (UntilitiesDataAccess.CheckExist("tbl_SANPHAM", "MaNCC_SP", _MaNCC)) { return(false); } SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Xóa nhà cung cấp]"; _cmd.Parameters.AddWithValue("@MaNCC_NCC", _MaNCC); return(conn.Execute(_cmd)); }
//XÓA ĐƠN VỊ TÍNH public static bool XoaDonViTinh(string _MaDVT) { if (UntilitiesDataAccess.CheckExist("tbl_SANPHAM", "MaDVT_SP", _MaDVT)) { return(false); } SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Xóa đơn vị tính]"; _cmd.Parameters.AddWithValue("@MaDVT_DVT", _MaDVT); return(conn.Execute(_cmd)); }
//Xóa quyền public static bool XoaQuyen(string _ID_Q) { //Check if (UntilitiesDataAccess.CheckExist("tbl_NHANVIEN", "ID_Q", _ID_Q)) { return(false); } //Xóa SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Xóa quyền]"; _cmd.Parameters.AddWithValue("@ID_Q", _ID_Q); return(conn.Execute(_cmd)); }
//THỐNG KÊ THEO NHÂN VIÊN CHI TIẾT public static List <ThongKeTheoHoaDonPublic> ThongKeTheoNhanVienChiTiet(string _MaNV, DateTime _dtTuNgay, DateTime _dtDenNgay) { List <ThongKeTheoHoaDonPublic> _lstKqThongKeTheoNhanVien = new List <ThongKeTheoHoaDonPublic>(); DateTime _dtNgayBatDau = new DateTime(_dtTuNgay.Year, _dtTuNgay.Month, _dtTuNgay.Day, 0, 0, 0); DateTime _dtNgayKetThuc = new DateTime(_dtDenNgay.Year, _dtDenNgay.Month, _dtDenNgay.Day, 23, 59, 59); //Lấy danh sách hóa đơn theo nhân viên SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Lấy danh sách hóa đơn theo nhân viên]"; _cmd.Parameters.AddWithValue("@Ma_NV", _MaNV); _cmd.Parameters.AddWithValue("@TuNgay", _dtNgayBatDau); _cmd.Parameters.AddWithValue("@DenNgay", _dtNgayKetThuc); DataTable _dtHoaDon = conn.GetDataSet2(_cmd).Tables[0]; ThongKeTheoHoaDonPublic _thongKeTheoHoaDon; //Tính chi tiết hóa đơn if (_dtHoaDon.Rows.Count > 0) { for (int i = 0; i < _dtHoaDon.Rows.Count; i++) { int _TongThu = 0; int _TongLoiNhuan = 0; int _TongTienNhap = 0; _thongKeTheoHoaDon = new ThongKeTheoHoaDonPublic(); HoaDonPublic _hd = new HoaDonPublic(); _hd = TinhTien1HoaDon(_dtHoaDon.Rows[i]["SoHD_HD"].ToString()); _TongThu += _hd.ThanhTien; _TongTienNhap += _hd.TongTienNhap; _TongLoiNhuan = _TongThu - _TongTienNhap; _thongKeTheoHoaDon.HoaDon = _hd; _thongKeTheoHoaDon.TongThu = UntilitiesDataAccess.ThemDauPhay(_TongThu.ToString()); _thongKeTheoHoaDon.TongLoiNhuan = UntilitiesDataAccess.ThemDauPhay(_TongLoiNhuan.ToString()); _lstKqThongKeTheoNhanVien.Add(_thongKeTheoHoaDon); } } return(_lstKqThongKeTheoNhanVien); }
//Thêm mới chi tiết hàng mua private static void ThemHangMua(HangMuaPubLic _hangMua) { //Tính lại chiết khấu phần trăm int _TongTien = _hangMua.SoLuong * Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hangMua.GiaBan_HM)); int _CkTienMat = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hangMua.ChietKhauTienMat)); _hangMua.ChietKhauPhanTram = ((float)_CkTienMat / (float)_TongTien) * 100; SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Thêm chi tiết hàng mua - bán hàng]"; _cmd.Parameters.AddWithValue("@SoHD_HM", _hangMua.HoaDon.SoHD_HD); _cmd.Parameters.AddWithValue("@MaSP_HM", _hangMua.SanPham.MaSP_SP); _cmd.Parameters.AddWithValue("@SoLuong_HM", _hangMua.SoLuong); _cmd.Parameters.AddWithValue("@CKTienMat_HM", _hangMua.ChietKhauTienMat); _cmd.Parameters.AddWithValue("@GiaNhap_HM", _hangMua.GiaNhap_HM); _cmd.Parameters.AddWithValue("@GiaBan_HM", _hangMua.GiaBan_HM); _cmd.Parameters.AddWithValue("@CKPhanTram_HM", _hangMua.ChietKhauPhanTram); conn.Execute(_cmd); }
//THêm mới mã giảm giá public static void TaoMaGiamGia(int _chietKhau, DateTime _ngayHetHan, int _soLuong) { MaGiamGiaPublic _maGiamGia = new MaGiamGiaPublic(); _maGiamGia.ChietKhau_MGG = _chietKhau; _maGiamGia.NgayHetHan_MGG = _ngayHetHan; _maGiamGia.GhiChu_MGG = "Chưa sử dụng"; _maGiamGia.TrangThai_MGG = true; for (int i = 0; i < _soLuong; i++) { bool t = true; while (t) { _maGiamGia.MaThe_MGG = RandomNumber(100000000, 999999999).ToString(); if (!UntilitiesDataAccess.CheckExist("tbl_MAGIAMGIA", "MaGG_MGG", _maGiamGia.MaThe_MGG)) { t = false; } } Them1MaGiamGia(_maGiamGia); } }
//THỐNG KÊ THEO NHÂN VIÊN public static List <ThongKeTheoNhanVienPublic> ThongKeTheoNhanVien(DateTime _dtTuNgay, DateTime _dtDenNgay) { List <ThongKeTheoNhanVienPublic> _lstKQThongkeTheoNV = new List <ThongKeTheoNhanVienPublic>(); #region 1.Lấy thông tin nhân viên, hóa đơn DateTime _dtNgayBatDau = new DateTime(_dtTuNgay.Year, _dtTuNgay.Month, _dtTuNgay.Day, 0, 0, 0); DateTime _dtNgayKetThuc = new DateTime(_dtDenNgay.Year, _dtDenNgay.Month, _dtDenNgay.Day, 23, 59, 59); SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Thống kê theo nhân viên]"; _cmd.Parameters.AddWithValue("@TuNgay", _dtNgayBatDau); _cmd.Parameters.AddWithValue("@DenNgay", _dtNgayKetThuc); DataSet _dsThongKeTheoNV = conn.GetDataSet2(_cmd); _cmd.Dispose(); DataTable _dtNhanVien = _dsThongKeTheoNV.Tables[0]; DataTable _dtHoaDon = _dsThongKeTheoNV.Tables[1]; #endregion #region 2.Tính tổng thu, tổng lợi nhuận theo tưng nhân viên if (_dtNhanVien.Rows.Count == 0) { return(null); } ThongKeTheoNhanVienPublic _thongkeTheoNV; for (int i = 0; i < _dtNhanVien.Rows.Count; i++) { //Lấy thông tin nhân viên _thongkeTheoNV = new ThongKeTheoNhanVienPublic(); NhanVienPublic _nv = new NhanVienPublic(); _nv.MaNV_NV = _dtNhanVien.Rows[i]["MaNV_NV"].ToString(); _nv.HoTen_NV = _dtNhanVien.Rows[i]["HoTen_NV"].ToString(); _nv.NgaySinh_NV = Convert.ToDateTime(_dtNhanVien.Rows[i]["NgaySinh_NV"].ToString()); _nv.GioiTinh_NV = _dtNhanVien.Rows[i]["GioiTinh_NV"].ToString(); _nv.DiaChi_NV = _dtNhanVien.Rows[i]["DiaChi_NV"].ToString(); _nv.SDT_NV = _dtNhanVien.Rows[i]["SDT_NV"].ToString(); _nv.Anh_NV = _dtNhanVien.Rows[i]["Anh_NV"].ToString(); _nv.DangDung_NV = (bool)_dtNhanVien.Rows[i]["DangDung_NV"]; _thongkeTheoNV.NhanVien = _nv; //Tính tiền các hóa đơn do nhân viên này lập từ ngày - đến ngày int _TongThu = 0; int _TongLai = 0; int _TongSoLuongHD = 0; int _TongTienNhap = 0; string _strFilterHoaDon = "NguoiLap_HD = '" + _thongkeTheoNV.NhanVien.MaNV_NV + "'"; DataView _dvHD = new DataView(_dtHoaDon, _strFilterHoaDon, "SoHD_HD", DataViewRowState.CurrentRows); if (_dvHD.Count > 0) { //Tính tiền từng hóa đơn for (int j = 0; j < _dvHD.Count; j++) { HoaDonPublic _hd = TinhTien1HoaDon(_dvHD[j]["SoHD_HD"].ToString()); _TongThu = _TongThu + _hd.ThanhTien; _TongTienNhap = _TongTienNhap + _hd.TongTienNhap; _TongSoLuongHD++; } _TongLai = _TongThu - _TongTienNhap; } _thongkeTheoNV.TongLoiNhuan = UntilitiesDataAccess.ThemDauPhay(_TongLai.ToString()); _thongkeTheoNV.TongThu = UntilitiesDataAccess.ThemDauPhay(_TongThu.ToString()); _thongkeTheoNV.TongSoHDBanDuoc = _TongSoLuongHD; _lstKQThongkeTheoNV.Add(_thongkeTheoNV); } #endregion return(_lstKQThongkeTheoNV); }
//THỐNG KÊ THEO HÓA ĐƠN public static List <ThongKeTheoHoaDonPublic> ThongKeTheoHoaDon(DateTime _dtTuNgay, DateTime _dtDenNgay) { List <ThongKeTheoHoaDonPublic> _lstKqThongKeTheoHoaDon = new List <ThongKeTheoHoaDonPublic>(); #region 1.Lấy hóa đơn, hàng mua trong khoảng thời gian DateTime _dtNgayBatDau = new DateTime(_dtTuNgay.Year, _dtTuNgay.Month, _dtTuNgay.Day, 0, 0, 0); DateTime _dtNgayKetThuc = new DateTime(_dtDenNgay.Year, _dtDenNgay.Month, _dtDenNgay.Day, 23, 59, 59); SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Thống kê theo hóa đơn]"; _cmd.Parameters.AddWithValue("@TuNgay", _dtNgayBatDau); _cmd.Parameters.AddWithValue("@DenNgay", _dtNgayKetThuc); DataSet _dsThongKeTheoHoaDon = conn.GetDataSet2(_cmd); _cmd.Dispose(); DataTable _dtHoaDon = _dsThongKeTheoHoaDon.Tables[0]; DataTable _dtHangMua = _dsThongKeTheoHoaDon.Tables[1]; #endregion #region 2.Tính thống kê tổng thu, tổng lợi nhuận từng hóa đơn if (_dtHoaDon.Rows.Count > 0) { for (int i = 0; i < _dtHoaDon.Rows.Count; i++) { ThongKeTheoHoaDonPublic _thongKeTheoHoaDon = new ThongKeTheoHoaDonPublic(); ////Lấy thông tin hóa đơn //HoaDonPublic _hoaDon = new HoaDonPublic(); //_hoaDon.SoHD_HD = _dtHoaDon.Rows[i]["SoHD_HD"].ToString(); //_hoaDon.NgayLap_HD = Convert.ToDateTime(_dtHoaDon.Rows[i]["NgayLap_HD"].ToString()); //_hoaDon.NguoiLap_HD.MaNV_NV = _dtHoaDon.Rows[i]["NguoiLap_HD"].ToString(); //_hoaDon.KhachHang_HD.MaKH_KH = _dtHoaDon.Rows[i]["MaKH_HD"].ToString(); //_hoaDon.BanLe_HD = (bool)_dtHoaDon.Rows[i]["BanLe_HD"]; //_hoaDon.TongCKHoaDon = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dtHoaDon.Rows[i]["ChietKhauTienMat_HD"].ToString())); //_hoaDon.TienKhachTra_HD = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dtHoaDon.Rows[i]["TienKhachTra_HD"].ToString())); //_hoaDon.VouCher_HD = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dtHoaDon.Rows[i]["VouCher_HD"].ToString())); //_hoaDon.MaGiamGia.MaThe_MGG = _dtHoaDon.Rows[i]["MaGiamGia_HD"].ToString(); //_hoaDon.CKPhanTram_HD = float.Parse(_dtHoaDon.Rows[i]["CKPhanTram_HD"].ToString()); //_hoaDon.TraHang_HD = (bool)_dtHoaDon.Rows[i]["TraHang_HD"]; //_hoaDon.DangDung_HD = (bool)_dtHoaDon.Rows[i]["DangDung_HD"]; //_thongKeTheoHoaDon.HoaDon = _hoaDon; ////Tính tiền cho từng hóa đơn //int _TongThu = 0; //int _TongLai = 0; //int _TongSoLuongBan = 0; //int _TongTienNhap = 0; //string _strFilterHangMua = "SoHD_HM = '" + _thongKeTheoHoaDon.HoaDon.SoHD_HD + "'"; //DataView _dvHangMua = new DataView(_dtHangMua, _strFilterHangMua, "SoHD_HM", DataViewRowState.CurrentRows); //if (_dvHangMua.Count > 0) //{ // for (int j = 0; j < _dvHangMua.Count; j++) // { // int _soLuong = Convert.ToInt32(_dvHangMua[j]["SoLuong_HM"].ToString()); // int _giaBan = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["GiaBan_HM"].ToString())); // int _giaNhap = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["GiaNhap_HM"].ToString())); // int _TienCKSP = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["CKTienMat_HM"].ToString())); // _TongTienNhap = _TongTienNhap + _giaNhap; // _TongSoLuongBan = _TongSoLuongBan + _soLuong; // _TongThu = _TongThu + (_soLuong * _giaBan - _TienCKSP); // } // _TongLai = _TongThu - _TongTienNhap; //} HoaDonPublic _hd = TinhTien1HoaDon(_dtHoaDon.Rows[i]["SoHD_HD"].ToString()); _thongKeTheoHoaDon.HoaDon = _hd; int _TongLoiNhuan = _hd.ThanhTien - _hd.TongTienNhap; _thongKeTheoHoaDon.TongThu = UntilitiesDataAccess.ThemDauPhay(_hd.ThanhTien.ToString()); _thongKeTheoHoaDon.TongLoiNhuan = UntilitiesDataAccess.ThemDauPhay(_TongLoiNhuan.ToString()); _lstKqThongKeTheoHoaDon.Add(_thongKeTheoHoaDon); } } #endregion return(_lstKqThongKeTheoHoaDon); }
//Tính tiền cho một hóa đơn public static HoaDonPublic TinhTien1HoaDon(string _soHD) { HoaDonPublic _hoaDon = new HoaDonPublic(); #region 1.Lấy thông tin hóa đơn _hoaDon = LayHoaDon(_soHD); if (_hoaDon == null) { return(null); } #endregion #region 2.Tính tiền cho hóa đơn //Lấy danh sách hàng mua DataTable _dtHM; SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Lấy danh sách hàng mua]"; _cmd.Parameters.AddWithValue("@SoHD_HM", _soHD); _dtHM = conn.GetDataSet2(_cmd).Tables[0]; int _TongGia = 0; int _TongCkTienMatSP = 0; int _TongTienNhap = 0; int _soLuong; int _giaBan; HangMuaPubLic _hm; if (_dtHM.Rows.Count > 0) { for (int i = 0; i < _dtHM.Rows.Count; i++) { _hm = new HangMuaPubLic(); _hm.SoLuong = (int)_dtHM.Rows[i]["SoLuong_HM"]; _hm.ChietKhauTienMat = _dtHM.Rows[i]["CKTienMat_HM"].ToString(); _hm.GiaNhap_HM = _dtHM.Rows[i]["GiaNhap_HM"].ToString(); _hm.GiaBan_HM = _dtHM.Rows[i]["GiaBan_HM"].ToString(); _soLuong = _hm.SoLuong; _giaBan = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hm.GiaBan_HM)); _TongTienNhap = _TongTienNhap + Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hm.GiaNhap_HM)); _TongCkTienMatSP = _TongCkTienMatSP + Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hm.ChietKhauTienMat)); _TongGia = _TongGia + (_soLuong * _giaBan); } } int _ckMaGiamGia = 0; if (!String.IsNullOrEmpty(_hoaDon.MaGiamGia.MaThe_MGG)) { //Lấy tiền mã giảm giá DataTable _dtMaGiamGia = BanHangDataAccess.LayMaGiamGiaTheoMa(_hoaDon.MaGiamGia.MaThe_MGG).Tables[0]; _ckMaGiamGia = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dtMaGiamGia.Rows[0]["ChietKhau_MGG"].ToString())); } _hoaDon.TienMaGiamGia = _TongGia * _ckMaGiamGia / 100; _hoaDon.TongTienNhap = _TongTienNhap; _hoaDon.TongCKSanPham = _TongCkTienMatSP; _hoaDon.TongTien_HD = _TongGia; _hoaDon.ThanhTien = _hoaDon.TongTien_HD - _hoaDon.TongCKSanPham - _hoaDon.TongCKHoaDon; _hoaDon.TienConLaiPhaiTra = _hoaDon.ThanhTien - _hoaDon.VouCher_HD - _hoaDon.TienMaGiamGia; _hoaDon.TienThuaTraLaiKhach = _hoaDon.TienKhachTra_HD - _hoaDon.TienConLaiPhaiTra; #endregion return(_hoaDon); }
//THỐNG KÊ THEO SẢN PHẨM public static List <ThongKeTheoSanPham> ThongKeTheoSanPham(string _MaNhomSP, DateTime _dtTuNgay, DateTime _dtDenNgay) { #region 1.Lấy thông tin sản phẩm, hàng mua DateTime _dtNgayBatDau = new DateTime(_dtTuNgay.Year, _dtTuNgay.Month, _dtTuNgay.Day, 0, 0, 0); DateTime _dtNgayKetThuc = new DateTime(_dtDenNgay.Year, _dtDenNgay.Month, _dtDenNgay.Day, 23, 59, 59); SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Thống kê theo sản phẩm]"; _cmd.Parameters.AddWithValue("@TuNgay", _dtNgayBatDau); _cmd.Parameters.AddWithValue("@DenNgay", _dtNgayKetThuc); DataSet _dsThongKeTheoSP = conn.GetDataSet2(_cmd); _cmd.Dispose(); DataTable _dtSanPham = _dsThongKeTheoSP.Tables[0]; DataTable _dtHangMua = _dsThongKeTheoSP.Tables[1]; #endregion #region 2. Lọc thông tin theo điều kiện DataTable _dtSanPham_loc = new DataTable(); //Lọc sản phẩm theo nhóm sản phẩm if (String.IsNullOrEmpty(_MaNhomSP)) { _dtSanPham_loc = _dtSanPham; } else { string _strFilterSP = "MaNSP_SP = '" + _MaNhomSP + "'"; DataView _dvSanPhamloc = new DataView(_dtSanPham); _dvSanPhamloc.Sort = "MaSP_SP"; _dvSanPhamloc.RowFilter = _strFilterSP; _dtSanPham_loc = _dvSanPhamloc.ToTable(); } #endregion #region 3.Tính giá trị thống kê theo sản phẩm if (_dtSanPham_loc.Rows.Count == 0) { return(null); } List <ThongKeTheoSanPham> _lstKetQuaThongKeTheoSP = new List <ThongKeTheoSanPham>(); ThongKeTheoSanPham _thongKeTheoSP; for (int i = 0; i < _dtSanPham_loc.Rows.Count; i++) { _thongKeTheoSP = new ThongKeTheoSanPham(); //Lấy thông tin sản phẩm SanPhamPublic _sp = new SanPhamPublic(); _sp.MaSP_SP = _dtSanPham_loc.Rows[i]["MaSP_SP"].ToString(); _sp.TenSP_SP = _dtSanPham_loc.Rows[i]["TenSP_SP"].ToString(); _sp.GiaNhap_SP = _dtSanPham_loc.Rows[i]["GiaNhap_SP"].ToString(); _sp.GiaBanLe_SP = _dtSanPham_loc.Rows[i]["GiaBanLe_SP"].ToString(); _sp.GiaBanSi_SP = _dtSanPham_loc.Rows[i]["GiaBanSi_SP"].ToString(); _sp.NCC_SP.MaNCC_NCC = _dtSanPham_loc.Rows[i]["MaNCC_SP"].ToString(); _sp.NSP_SP.MaNSP_NSP = _dtSanPham_loc.Rows[i]["MaNSP_SP"].ToString(); _sp.DVT_SP.MaDVT_DVT = _dtSanPham_loc.Rows[i]["MaDVT_SP"].ToString(); _sp.GhiChu_SP = _dtSanPham_loc.Rows[i]["GhiChu_SP"].ToString(); _sp.SoLuong_SP = (int)_dtSanPham_loc.Rows[i]["SoLuong_SP"]; _sp.CKPhanTram_SP = float.Parse(_dtSanPham_loc.Rows[i]["CKPhanTram_SP"].ToString()); _sp.Anh_SP = _dtSanPham_loc.Rows[i]["Anh_SP"].ToString(); _sp.NgayTao_SP = Convert.ToDateTime(_dtSanPham_loc.Rows[i]["NgayTao_SP"].ToString()); _thongKeTheoSP.Sanpham = _sp; //Tính thu - lãi theo danh sách hàng mua int _TongThu = 0; int _TongLai = 0; int _TongSoLuongBan = 0; int _TongTienNhap = 0; string _strFilterHangMua = "MaSP_HM = '" + _thongKeTheoSP.Sanpham.MaSP_SP + "'"; DataView _dvHangMua = new DataView(_dtHangMua, _strFilterHangMua, "MaSP_HM", DataViewRowState.CurrentRows); if (_dvHangMua.Count > 0) { for (int j = 0; j < _dvHangMua.Count; j++) { int _soLuong = Convert.ToInt32(_dvHangMua[j]["SoLuong_HM"].ToString()); int _giaBan = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["GiaBan_HM"].ToString())); int _giaNhap = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["GiaNhap_HM"].ToString())); int _TienCKSP = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_dvHangMua[j]["CKTienMat_HM"].ToString())); _TongTienNhap = _TongTienNhap + _giaNhap; _TongSoLuongBan = _TongSoLuongBan + _soLuong; _TongThu = _TongThu + (_soLuong * _giaBan - _TienCKSP); } _TongLai = _TongThu - _TongTienNhap; } _thongKeTheoSP.TongThu = UntilitiesDataAccess.ThemDauPhay(_TongThu.ToString()); _thongKeTheoSP.TongLai = UntilitiesDataAccess.ThemDauPhay(_TongLai.ToString()); _thongKeTheoSP.TongNhap = UntilitiesDataAccess.ThemDauPhay(_TongTienNhap.ToString()); _thongKeTheoSP.TongSoLuongBan = _TongSoLuongBan; _lstKetQuaThongKeTheoSP.Add(_thongKeTheoSP); } #endregion return(_lstKetQuaThongKeTheoSP); }
//Lấy danh sách hàng mua public static List <HangMuaPubLic> LayDsHangMua(string _soHD) { List <HangMuaPubLic> _lstHangMua = null; HangMuaPubLic _hangMua; DataTable _dtHM; SqlCommand _cmd = new SqlCommand(); _cmd.CommandType = CommandType.StoredProcedure; _cmd.CommandText = "[Lấy danh sách hàng mua]"; _cmd.Parameters.AddWithValue("@SoHD_HM", _soHD); _dtHM = conn.GetDataSet2(_cmd).Tables[0]; if (_dtHM.Rows.Count > 0) { _lstHangMua = new List <HangMuaPubLic>(); for (int i = 0; i < _dtHM.Rows.Count; i++) { //Lấy thông tin sản phẩm _hangMua = new HangMuaPubLic(); _hangMua.SanPham.MaSP_SP = _dtHM.Rows[i]["MaSP_SP"].ToString(); _hangMua.SanPham.TenSP_SP = _dtHM.Rows[i]["TenSP_SP"].ToString(); _hangMua.SanPham.GiaNhap_SP = _dtHM.Rows[i]["GiaNhap_SP"].ToString(); _hangMua.SanPham.GiaBanLe_SP = _dtHM.Rows[i]["GiaBanLe_SP"].ToString(); _hangMua.SanPham.GiaBanSi_SP = _dtHM.Rows[i]["GiaBanSi_SP"].ToString(); _hangMua.SanPham.NCC_SP.MaNCC_NCC = _dtHM.Rows[i]["MaNCC_SP"].ToString(); _hangMua.SanPham.NSP_SP.MaNSP_NSP = _dtHM.Rows[i]["MaNSP_SP"].ToString(); _hangMua.SanPham.DVT_SP.MaDVT_DVT = _dtHM.Rows[i]["MaDVT_SP"].ToString(); _hangMua.SanPham.GhiChu_SP = _dtHM.Rows[i]["GhiChu_SP"].ToString(); _hangMua.SanPham.SoLuong_SP = (int)_dtHM.Rows[i]["SoLuong_SP"]; _hangMua.SanPham.CKPhanTram_SP = float.Parse(_dtHM.Rows[i]["CKPhanTram_SP"].ToString()); _hangMua.SanPham.Anh_SP = _dtHM.Rows[i]["Anh_SP"].ToString(); _hangMua.SanPham.NgayTao_SP = (DateTime)_dtHM.Rows[i]["NgayTao_SP"]; _hangMua.SanPham.DVT_SP.TenDVT_DVT = _dtHM.Rows[i]["TenDVT_DVT"].ToString(); //Thông tin hàng mua _hangMua.SoLuong = (int)_dtHM.Rows[i]["SoLuong_HM"]; _hangMua.ChietKhauPhanTram = float.Parse(_dtHM.Rows[i]["CKPhanTram_HM"].ToString()); _hangMua.ChietKhauTienMat = _dtHM.Rows[i]["CKTienMat_HM"].ToString(); _hangMua.GiaNhap_HM = _dtHM.Rows[i]["GiaNhap_HM"].ToString(); _hangMua.GiaBan_HM = _dtHM.Rows[i]["GiaBan_HM"].ToString(); //lấy thông tin hóa đơn _hangMua.HoaDon.SoHD_HD = _dtHM.Rows[0]["SoHD_HD"].ToString(); _hangMua.HoaDon.NgayLap_HD = (DateTime)_dtHM.Rows[0]["NgayLap_HD"]; _hangMua.HoaDon.NguoiLap_HD.MaNV_NV = _dtHM.Rows[0]["NguoiLap_HD"].ToString(); _hangMua.HoaDon.BanLe_HD = (bool)_dtHM.Rows[0]["BanLe_HD"]; _hangMua.HoaDon.KhachHang_HD.MaKH_KH = _dtHM.Rows[0]["MaKH_HD"].ToString(); _hangMua.HoaDon.CKPhanTram_HD = float.Parse(_dtHM.Rows[0]["CKPhanTram_HD"].ToString()); _hangMua.HoaDon.TongCKHoaDon = Convert.ToInt32(_dtHM.Rows[0]["ChietKhauTienMat_HD"].ToString()); _hangMua.HoaDon.TienKhachTra_HD = Convert.ToInt32(_dtHM.Rows[0]["TienKhachTra_HD"].ToString()); _hangMua.HoaDon.VouCher_HD = Convert.ToInt32(_dtHM.Rows[0]["VouCher_HD"].ToString()); _hangMua.HoaDon.MaGiamGia.MaThe_MGG = _dtHM.Rows[0]["MaGiamGia_HD"].ToString(); //Tính thành tiền cho hàng mua (đang dùng ở thống kê báo cáo) int _TienckSP = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hangMua.ChietKhauTienMat)); //Tính tiền cho sản phẩm float _CkPhanTram = _hangMua.ChietKhauPhanTram; int _giaBan = Convert.ToInt32(UntilitiesDataAccess.BoDauPhay(_hangMua.GiaBan_HM)); int _soLuong = _hangMua.SoLuong; int _TongCKSanPham = (int)((_CkPhanTram * _giaBan / 100) * _soLuong); int _TongTien = _soLuong * _giaBan; int _ThanhTien = _TongTien - _TongCKSanPham; _hangMua.TongTienSP = _TongTien; _hangMua.ThanhTien = _ThanhTien; _hangMua.SanPham.ThanhTien_SP = UntilitiesDataAccess.ThemDauPhay((_hangMua.TongTienSP - _TienckSP).ToString()); _lstHangMua.Add(_hangMua); } } return(_lstHangMua); }
//Nhập vào mã hàng,Kho, số lượng, lẻ|buôn - trả về một đối tượng chứa mọi thông tin hàng public static HangMuaPubLic LayHangMua(string MaSP_SP, bool KieuBan, int SoLuong)// kiểu bán lẻ hoặc sỉ true = bán lẻ | false = bán sỉ { HangMuaPubLic hm = new HangMuaPubLic(); //Lấy ra thông tin sản phẩm string StoreprodureName = "LaySPTheoMa_BanHang"; SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = StoreprodureName; cmd.Parameters.AddWithValue("@MaSP_SP", MaSP_SP); DataSet ds = conn.GetDataSet2(cmd); SanPhamPublic sp = new SanPhamPublic();//Chứa thông tin sản phẩm cần lấy ra if (ds.Tables[0].Rows.Count > 0) { //Lấy thông tin DataRow dr = ds.Tables[0].Rows[0]; sp.MaSP_SP = dr["MaSP_SP"].ToString(); sp.TenSP_SP = dr["TenSP_SP"].ToString(); sp.GiaNhap_SP = UntilitiesDataAccess.BoDauPhay(dr["GiaNhap_SP"].ToString()); sp.GiaBanLe_SP = UntilitiesDataAccess.BoDauPhay(dr["GiaBanLe_SP"].ToString()); sp.GiaBanSi_SP = UntilitiesDataAccess.BoDauPhay(dr["GiaBanSi_SP"].ToString()); sp.NCC_SP.MaNCC_NCC = dr["MaNCC_NCC"].ToString(); sp.NCC_SP.TenNCC_NCC = dr["TenNCC_NCC"].ToString(); sp.NCC_SP.GhiChu_NCC = dr["GhiChu_NCC"].ToString(); sp.NSP_SP.MaNSP_NSP = dr["MaNSP_NSP"].ToString(); sp.NSP_SP.TenNSP_NSP = dr["TenNSP_NSP"].ToString(); sp.NSP_SP.GhiChu_NSP = dr["GhiChu_NSP"].ToString(); sp.NSP_SP.DangDung_NSP = dr["DangDung_NSP"].ToString() == "true" ? true : false; sp.NSP_SP.NgayTao_NSP = Convert.ToDateTime(dr["NgayTao_NSP"].ToString()); sp.DVT_SP.MaDVT_DVT = dr["MaDVT_DVT"].ToString(); sp.DVT_SP.TenDVT_DVT = dr["TenDVT_DVT"].ToString(); sp.DVT_SP.DangDung_DVT = dr["DangDung_DVT"].ToString() == "true" ? true : false; sp.GhiChu_SP = dr["GhiChu_SP"].ToString(); sp.SoLuong_SP = Convert.ToInt32(dr["SoLuong_SP"].ToString()); sp.CKPhanTram_SP = Convert.ToInt32(dr["CKPhanTram_SP"].ToString()); } else { return(hm = null); // Trả về null nếu không có sản phẩm nào } //Tính toán giá tiền sản phẩm - có thể viết một hàm tính tiền riêng để áp dụng chính sách khác nhau #region Tính toán giá tiền cho sản phẩm này hm.SanPham = sp; hm.ChietKhauPhanTram = hm.SanPham.CKPhanTram_SP; hm.SoLuong = SoLuong; // Số lượng mặc định ban đầu khi mua là 1 sp if (KieuBan == true) //Bán lẻ { //hm.ChietKhauTienMat = hm.SoLuong * (Convert.ToInt32(hm.ChietKhauPhanTram) * Convert.ToInt32(hm.SanPham.GiaBanLe_SP)) / 100; //hm.TongTienSP = hm.SoLuong * Convert.ToInt32(hm.SanPham.GiaBanLe_SP); //hm.ThanhTien = hm.TongTienSP - hm.ChietKhauTienMat;//Thành tiền gia bán lẻ } else//Bán sỉ { //hm.ChietKhauTienMat = hm.SoLuong * (Convert.ToInt32(hm.ChietKhauPhanTram) * Convert.ToInt32(hm.SanPham.GiaBanSi_SP)) / 100; //hm.TongTienSP = Convert.ToInt32(hm.SanPham.GiaBanSi_SP) * hm.SoLuong; //hm.ThanhTien = hm.TongTienSP - hm.ChietKhauTienMat; // Thành tiền giá bán sỉ } #endregion return(hm); }
//Bán hàng public static void BanHang(HoaDonPublic _hoaDon, List <SanPhamPublic> _gioHang, bool _truSoLuong) { #region 1.Thêm mới hóa đơn //Lưu hóa đơn mới ThemMoiHoaDon(_hoaDon); //Tắt mã giảm giá nếu có if (!String.IsNullOrEmpty(_hoaDon.MaGiamGia.MaThe_MGG)) { TatMaGiamGia(_hoaDon.MaGiamGia.MaThe_MGG); } #endregion #region 2.Lưu hàng mua HangMuaPubLic _hangMua = new HangMuaPubLic(); _hangMua.HoaDon.SoHD_HD = _hoaDon.SoHD_HD; foreach (SanPhamPublic _sp in _gioHang) { //Lấy thông tin hàng mua _hangMua.SanPham.MaSP_SP = _sp.MaSP_SP; _hangMua.SoLuong = _sp.SoLuong_SP; _hangMua.ChietKhauPhanTram = _sp.CKPhanTram_SP; _hangMua.ChietKhauTienMat = _sp.CKTienMat; _hangMua.GiaNhap_HM = _sp.GiaNhap_SP; _hangMua.GiaBan_HM = _sp.GiaBan; //Thêm hàng mua ThemHangMua(_hangMua); //Trừ hàng trong kho if (_truSoLuong) { TruSoLuongSPTrongKho(_hangMua.SanPham.MaSP_SP, _hangMua.SoLuong); } } #endregion #region 3.Cập nhật thông tin mua hàng cho khác //Cộng điểm tích lũy cho khách hàng if (!String.IsNullOrEmpty(_hoaDon.KhachHang_HD.MaKH_KH)) { bool _CongDiem = _thietLap.CongDiemKhachHang; //(Cấu hình bật tắt chức năng) if (_CongDiem) { CongDiemTichLuy(_hoaDon.KhachHang_HD.MaKH_KH, _hoaDon.TongTien_HD); } //Cập nhật số lần mua hàng và ngày mua hàng gần nhất CapNhatSoLanMuaChoKhach(_hoaDon.KhachHang_HD.MaKH_KH); //Xét nhóm khách hàng cho khách hàng XetNhomKhacHang(_hoaDon.KhachHang_HD); } #endregion #region 4.Lưu lịch sử bán hàng LichSuBanHangPublic _lsbh = new LichSuBanHangPublic(); _lsbh.MaLSBH_LSBH = UntilitiesDataAccess.GetNextID("tbl_LICHSUBANHANG", "MaLSBH_LSBH", "LS.", 10); _lsbh.NhanVienThucHien_LSBH.MaNV_NV = _hoaDon.NguoiLap_HD.MaNV_NV; _lsbh.SoHD_LSBH.SoHD_HD = _hoaDon.SoHD_HD; _lsbh.MoTa_LSBH = "Khách mua hàng"; _lsbh.ThoiGian_LSBH = DateTime.Now; LichSuBanHangDataAccess.ThemLichSuBanHang(_lsbh); #endregion }