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 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 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 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 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 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 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 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 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 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 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 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 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(); // } }