public static Dictionary<int, string> ListKhuVuc() { using (var db = new DB()) { return db.KhuVucs.ToDictionary(p => p.KhuVucID, t => t.Ten); } }
public static bool DelKhuVuc(int id) { using (var db = new DB()) { try { // ---- Truy vấn đến đối tượng (đầu tiên) có id trùng với id truyền vào var kv = db.KhuVucs.Single(p => p.KhuVucID.Equals(id)); // ---- Gọi phương thức xóa kv trên db.KhuVucs.DeleteOnSubmit(kv); // ---- Cập nhật lên cơ sở dữ liệu db.SubmitChanges(); // ---- Báo xóa thành công return true; } catch (SqlException) { // ---- Trường hợp cơ sở dữ liệu không tồn tại id trùng // ---- Trường hợp không xóa được do SQL error // ---- Báo xóa không thành công return false; } } }
public static DataTable DoanhThuTheoKhuVuc(int khuVuc) { try { using (var db = new DB()) { var temp = db.PhieuThus.Where(p=>p.KhuVuc.Equals(khuVuc) && p.ThoiGian.Value.Day == DateTime.Now.Day) .Select(p => new { p.ThoiGian.Value.Hour, p.TongTien }) .GroupBy(p => p.Hour) .Select(p => new { Hour = p.Key, TongTien = p.Sum(t => t.TongTien).Value }); return Convert.CreateTable(temp); } } catch { return null; } }
public static bool DelNguoiDung(int id) { // ---- Nếu người dùng là Admin quản trị chính thì không xoá và trả về false if (CauHinh.AdminChinh() == id) return true; try { using (var db = new DB()) { // ---- Truy vấn đến người dùng có id trùng với id truyền vào var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Gọi phương thức xóa db.NguoiDungs.DeleteOnSubmit(nd); // ---- Cập nhật thay đổi CSDL db.SubmitChanges(); // return true; } } catch (SqlException) { using (var db = new DB()) { // ---- trường hợp không thể xóa do không tồn tại hoặc đang sử dụng // ---- Truy vấn đến người dùng có id trùng với id truyền vào var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Đưa vào thùng rác (Đặt cờ xoá = true) nd.Xoa = true; // ---- Cập nhật thay đổi CSDL db.SubmitChanges(); // } return false; } }
public static int AddPhieuThu(int nguoiDung, int khuVuc) { using (var db = new DB()) { // ---- Tạo mới một đối tượng phiếu thu var phieuThu = new DAL.PhieuThu() { NguoiDung = nguoiDung, KhuVuc = khuVuc, // ---- Lấy thời gian hiện tại ThoiGian = DateTime.Now, // ---- Tổng tiền ban đầu bằng 0 khi thêm chi tiết sẽ tự cập nhật TongTien = 0, // ---- Tiền nhận cập nhật khi thanh toán phiếu thu TienNhan = 0, SoNguoi = 1, ThanhToan = false, }; // ---- Thêm phiếu thu vào cơ sở dữ liệu db.PhieuThus.InsertOnSubmit(phieuThu); // ---- Cập nhật thay đổi db.SubmitChanges(); // ---- Trả về PhieuThuID mới thêm vào return phieuThu.PhieuThuID; } }
public static DataTable DoanhThu(int thang) { try { using (var db = new DB()) { var doanhThu = db.PhieuThus .Where(p=> p.ThoiGian.Value.Month.Equals(thang) && p.ThoiGian.Value.Year.Equals(DateTime.Now.Year)) .Select(p => new { p.PhieuThuID, Ngay = p.ThoiGian.Value.Day, p.ThoiGian, NguoiTao = p.NguoiDung1.HoTen, p.TongTien, p.SoNguoi, KhuVuc = p.KhuVuc1.Ten }); return Convert.CreateTable(doanhThu); } } catch { return null; } }
public static DataTable GetKhuVuc() { using (var db = new DB()) { return DAL.Convert.CreateTable(db.KhuVucs.Select(p => new { p.KhuVucID, p.Ten, p.SoBan, })); } }
public static int NhomChinh() { using (var db = new DB()) { var tuyChinh = db.CauHinhs.Single(p => p.TenCauHinh.Equals("Nhóm Chính")).TuyChinh; if (tuyChinh != null) { return tuyChinh.Value; } db.CauHinhs.InsertOnSubmit(new DAL.CauHinh() {TenCauHinh = "Nhóm Chính", TuyChinh = 1}); return db.CauHinhs.Single(p => p.TenCauHinh.Equals("Nhóm Chính")).TuyChinh.Value; } }
public static void AddKhuVuc(string ten, int soBan) { // ---- Tạo mới một đối tượng Khu Vực var kv = new DAL.KhuVuc() { Ten = ten, SoBan = soBan }; // ---- Khai báo sử dụng biến db là đối tượng DB linq using (var db = new DB()) { // ---- Gọi phương thức thêm mới một đối tượng khu vực db.KhuVucs.InsertOnSubmit(kv); // ---- Cập nhật vào cơ sở dữ liệu db.SubmitChanges(); } }
public static DataTable GetListNguoiDung() { using (var db = new DB()) { // ---- Truy vấn toàn bộ danh sách người dùng chưa bị xoá var nd = db.NguoiDungs.Where(p=> !p.Xoa.Value) .Select(p => new { p.NguoiDungID, p.HoTen, p.TaiKhoan, p.MatKhau, p.QuanTri, AD = p.NguoiDungID == CauHinh.AdminChinh() }); // ---- Trả về dưới dạng data table return DAL.Convert.CreateTable(nd); } }
public static DataTable GetLuongKhachTheoKhuVuc() { try { using (var db = new DB()) { return Convert.CreateTable(db.PhieuThus.Where(p=>!p.ThanhToan.Value).Select(p => new { p.PhieuThuID, KhuVuc = p.KhuVuc1.Ten, p.TongTien, p.SoNguoi })); } } catch { return null; } }
public static void AddNguoiDung(string hoTen, string taiKhoan, string matKhau, bool quanTri) { using (var db = new DB()) { // ---- Khởi tạo một đối tượng Người Dùng mới var nd = new DAL.NguoiDung() { HoTen = hoTen, TaiKhoan = taiKhoan, MatKhau = matKhau, QuanTri = quanTri, Xoa = false }; // ---- Thêm vào CSDL db.NguoiDungs.InsertOnSubmit(nd); // ---- Cập nhật thay đổi lên CSDL db.SubmitChanges(); } }
public static bool DelPhieuThu(int phieuThu) { try { using (var db = new DB()) { // ---- Truy vấn đến phiếu thu cần xóa var del = db.PhieuThus.Single(p => p.PhieuThuID.Equals(phieuThu)); // ---- Xóa khỏi CSDL db.PhieuThus.DeleteOnSubmit(del); // ---- Cập nhật thay đổi db.SubmitChanges(); } return true; } catch { return false; } }
public static void UpdateKhuVuc(int id, string ten, int soBan) { using (var db = new DB()) { try { // ---- Truy vấn đến đối tượng (đầu tiên) có id trùng với id truyền vào var kv = db.KhuVucs.Single(p => p.KhuVucID.Equals(id)); // ---- Thay đổi giá trị kv.Ten = ten; kv.SoBan = soBan; // ---- Cập nhật vào cơ sở dữ liệu db.SubmitChanges(); } catch { // ---- Trường hợp cơ sở dữ liệu không tồn tại id trùng } } }
public static void SetAdminChinh(int admin) { using (var db = new DB()) { var ad = db.CauHinhs.Single(p => p.TenCauHinh.Contains("Master Admin")); if (ad != null) { ad.TuyChinh = admin; db.SubmitChanges(); } else { db.CauHinhs.InsertOnSubmit(new DAL.CauHinh() { TenCauHinh = "Master Admin", TuyChinh = admin }); db.SubmitChanges(); } db.SubmitChanges(); } }
public static DataTable GetChiTiet(int phieuThu) { try { using (var db = new DB()) { // ---- Join Danh mục với nhóm danh mục var danhMuc = db.DanhMucs.Join(db.NhomDMs, dm => dm.Nhom, nhom => nhom.NhomID, (dm, nhom) => new { dm.DanhMucID, Nhom = nhom.Ten, dm.Ten, dm.DonGia }); // ----- Join 3 bảng chi tiết, danh mục, nhóm danh mục return Convert.CreateTable(db.ChiTietPTs.Where(p => p.PhieuThu.Equals(phieuThu)) .Join(danhMuc, ct => ct.DanhMuc, dm => dm.DanhMucID, (ct, dm) => new { dm.DanhMucID, dm.Nhom, dm.Ten, dm.DonGia, ct.SoLuong, ThanhTien = ct.SoLuong*dm.DonGia, ThaoTac = 0, })); } } catch { return null; } }
public ManageUnitOfWork(DB context) { dbContext = context; }
public static DataTable GetThungRac() { using (var db = new DB()) { // ---- Truy vấn toàn bộ danh sách người dùng đã bị xoá var nd = db.NguoiDungs.Where(p => p.Xoa.Value) .Select(p => new { p.NguoiDungID, p.HoTen, p.TaiKhoan, p.QuanTri }); // ---- Trả về dưới dạng data table return DAL.Convert.CreateTable(nd); } }
public static bool UpdateKhuVuc(int phieuThu, int khuVuc) { try { using (var db = new DB()) { // ---- Truy vấn đến phiếu thu cần xóa var pt = db.PhieuThus.Single(p => p.PhieuThuID.Equals(phieuThu)); // --- Thay đổi giá trị pt.KhuVuc = khuVuc; // ---- Cập nhật thay đổi db.SubmitChanges(); } return true; } catch { return false; } }
public static int Login(string taiKhoan, string matKhau) { try { using (var db = new DB()) { // ---- truy vấn đến người dùng có tài khoản trùng và chưa bị xoá var nd = db.NguoiDungs .Single(p => !p.Xoa.Value && p.TaiKhoan.Equals(taiKhoan) && p.MatKhau.Equals(matKhau)); // ---- Gán id người đã đăng nhập bằng id mới DaDangNhap = nd.NguoiDungID; // ---- Trả về true nếu có tồn tại người dùng trong truy vấn return nd.NguoiDungID; } } catch { return 0; } }
public static void UpdateChiTiet(int phieuThu, DataTable chiTiet) { using (var db = new DB()) { // ---- Lấy danh sách items thuộc nhóm chính => số người var soNguoi = chiTiet.Select() .Where(p => p["Nhom"].Equals(DanhMuc.GetTenNhom(CauHinh.NhomChinh()))) .Sum(p => (int) p["SoLuong"]); // ---- Chuyển toàn bộ table chi tiết qua danh sách ChiTietPT var listMoi = chiTiet.Select().Select(p => new ChiTietPT() { PhieuThu = phieuThu, DanhMuc = (int) p["DanhMucID"], SoLuong = (int) p["SoLuong"] }); // ---- Danh sách các danh mục từ ChiTiet mới var danhMucMoi = listMoi.Select(p => p.DanhMuc); // ---- Truy vấn danh sách chi tiết gốc var listCu = db.ChiTietPTs.Where(p => p.PhieuThu.Equals(phieuThu)); // ---- CDanh sách danh mục từ chi tiết gốc var danhMucCu = listCu.Select(p => p.DanhMuc); // ---- Nếu DS cũ rỗng thì thêm toàn bộ chi tiết trong list vào cơ sở dữ liệu if (listCu.Count() == 0) { db.ChiTietPTs.InsertAllOnSubmit(listMoi); db.SubmitChanges(); } else { // ------- Truy vấn danh sách phần tử trong danh sách cũ không tồn tại trong danh sách mới var del = listCu.Where(p => !danhMucMoi.Contains(p.DanhMuc)); // ---- Xóa danh sách del khỏi CSDL db.ChiTietPTs.DeleteAllOnSubmit(del); // ---- Cập nhật thay đổi db.SubmitChanges(); // ---- Truy vấn những phần tử trong list mới mà không tồn tại trong danh sách cũ var neW = listMoi.Where(p => !danhMucCu.Contains(p.DanhMuc)); // ---- Thêm vào CSDL db.ChiTietPTs.InsertAllOnSubmit(neW); // ---- Cập nhật thay đổi db.SubmitChanges(); // ---- Truy vấn những phần tử trong list mới mà danh mục nó tồn tại trong DS cũ nhưng khác về số lượng var update = listMoi.Where(p =>listCu.Any(t=>t.DanhMuc.Equals(p.DanhMuc) && !t.SoLuong.Equals(p.SoLuong))); foreach (var i in update) { // ---- Với mỗi chi tiết trùng thì cập nhật số lượng mới db.ChiTietPTs.Single(p => i.DanhMuc.Equals(p.DanhMuc) && p.PhieuThu.Equals(phieuThu)).SoLuong = i.SoLuong; // ---- Cập nhật thay đổi db.SubmitChanges(); } } // ----- Cập nhật Tổng tiền cho phiếu thu vừa thao tác var pt = db.PhieuThus.Single(p => p.PhieuThuID.Equals(phieuThu)); pt.TongTien = chiTiet.Select().Sum(p => (long) p["ThanhTien"]); pt.SoNguoi = soNguoi > 0 ? soNguoi : 1; // ----- Cập nhật thay đổi db.SubmitChanges(); } }
public static void PhucHoi(int id) { using (var db = new DB()) { // ---- Truy vấn đến người dùng có id trùng với id truyền vào var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Đặt lại cờ xoá bằng =false nd.Xoa = false; // ---- Cập nhật thay đổi CSDL db.SubmitChanges(); // } }
public static DataTable GetPhieuThu(bool thanhToan = false) { try { using (var db = new DB()) { return Convert.CreateTable(db.PhieuThus.Where(p => p.ThanhToan.Equals(thanhToan)).Select(p=> new { p.PhieuThuID, p.ThoiGian, NguoiDung = p.NguoiDung1.HoTen, p.TongTien, p.TienNhan, p.KhuVuc, p.SoNguoi })); } } catch { return null; } }
public static bool ThanhToanPhieuThu(int phieuThu, int tienNhan) { try { using (var db = new DB()) { // ---- Truy vấn đến phiếu thu cần xóa var pt = db.PhieuThus.Single(p => p.PhieuThuID.Equals(phieuThu)); // ---- Thay đổi cờ thanh toán pt.ThanhToan = true; if (tienNhan > 0) { pt.TienNhan = tienNhan; } else { throw new Exception(); } // ---- Cập nhật thay đổi db.SubmitChanges(); } return true; } catch { return false; } }
public static DataTable GetPhieuThu() { try { using (var db = new DB()) { return Convert.CreateTable(db.PhieuThus.Select(p => new { p.PhieuThuID, p.ThoiGian, Nam = p.ThoiGian.Value.Year, Thang = p.ThoiGian.Value.Month, Ngay = p.ThoiGian.Value.Day, Gio = p.ThoiGian.Value.Hour, Person = p.NguoiDung1.HoTen, KhuVuc = p.KhuVuc1.Ten, p.TongTien, p.SoNguoi })); } } catch { return null; } }
public static void UpdateNguoiDung(int id, string hoTen, string taiKhoan, string matKhau, bool quanTri) { using (var db = new DB()) { // ---- Truy vấn người dùng (đầu tiên) có id truyền vào var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Thay đổi giá trị nd.HoTen = hoTen; nd.TaiKhoan = taiKhoan; nd.MatKhau = matKhau; nd.QuanTri = quanTri; // ---- Cập nhật thay đổi lên CSDL db.SubmitChanges(); } }
public static Dictionary<string, object> GetNguoiDung(int id) { try { using (var db = new DB()) { // ---- Truy vấn toàn bộ danh sách người dùng var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Khởi tạo một dictionary để chứa thông tin var dic = new Dictionary<string, object> { {"ID", nd.NguoiDungID}, {"HoTen", nd.HoTen}, {"TaiKhoan", nd.TaiKhoan}, {"MatKhau", nd.MatKhau}, {"QuanTri", nd.QuanTri} }; // ---- Trả về dưới dạng data table return dic; } } catch { // ---- Lỗi trả về người dùng null var dic = new Dictionary<string, object> { {"ID", -1}, {"HoTen", "Không có người dùng"}, {"TaiKhoan", "None"}, {"MatKhau", ""}, {"QuanTri", "false"} }; // ---- Trả về dưới dạng data table return dic; } }
public static object[] GetObjectNguoiDung(int id) { try { using (var db = new DB()) { // ---- Truy vấn toàn bộ danh sách người dùng var nd = db.NguoiDungs.Single(p => p.NguoiDungID.Equals(id)); // ---- Khởi tạo một Mảng Object để chứa thông tin var obj= new Object[] { nd.NguoiDungID, nd.HoTen, nd.TaiKhoan, nd.TaiKhoan, nd.MatKhau, nd.QuanTri }; // ---- Trả về dưới dạng data table return obj; } } catch { return null; } }
public static DataTable ReportDanhMuc() { try { using (var db = new DB()) { // ---- Lấy danh mục trùng nhóm truyền vào và chưa xoá return DAL.Convert.CreateTable(db.DanhMucs.Where(p => !p.Xoa.Value) .Select(p => new { p.DanhMucID, TenNhom = p.NhomDM.Ten, p.Ten, p.DonGia })); } } catch { return null; } }