public bool XoaListTheoID(List <int> listID) { bool kq = true; Entities entities = ContextFactory.GetInstance(); try { using (TransactionScope trans = new TransactionScope()) { foreach (int id in listID) { HT_CNANG_TNANG obj = new HT_CNANG_TNANG(); obj = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.ID == id); entities.DeleteObject(obj); entities.SaveChanges(); } trans.Complete(); } } catch (System.Exception ex) { kq = false; LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } finally { entities = null; } return(kq); }
public bool Sua(HT_CNANG_TNANG obj) { bool kq = true; Entities entities = ContextFactory.GetInstance(); EntityKey key = null; object original = null; try { key = entities.CreateEntityKey(ENTITY_SET_NAME, obj); if (entities.TryGetObjectByKey(key, out original)) { entities.ApplyCurrentValues(key.EntitySetName, obj); } entities.SaveChanges(); kq = true; } catch (System.Exception ex) { kq = false; LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } finally { entities = null; } return(kq); }
public bool HuyDuyetListTheoID(List <int> listID) { bool kq = true; Entities entities = ContextFactory.GetInstance(); try { using (TransactionScope trans = new TransactionScope()) { foreach (int id in listID) { HT_CNANG_TNANG obj = new HT_CNANG_TNANG(); obj = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.ID == id); obj.TTHAI_NVU = BusinessConstant.TrangThaiNghiepVu.THOAI_DUYET.layGiaTri(); entities.SaveChanges(); } trans.Complete(); } } catch (System.Exception ex) { kq = false; LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } finally { entities = null; } return(kq); }
public bool Xoa(HT_CNANG_TNANG obj) { bool kq = true; Entities entities = ContextFactory.GetInstance(); try { entities.DeleteObject(obj); entities.SaveChanges(); } catch (System.Exception ex) { kq = false; LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } finally { entities = null; } return(kq); }
public HT_CNANG_TNANG GetByMa(string ma) { HT_CNANG_TNANG kq = null; Entities entities = ContextFactory.GetInstance(); try { kq = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.MA_TNANG.Equals(ma)); return(kq); } catch (System.Exception ex) { kq = null; LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); } finally { entities = null; } return(kq); }
public bool luuPhanQuyen(string maDoiTuong, string loaiDoiTuong, ArrayList lstPhanQuyen, string nguoiCapNhat) { try { using (TransactionScope trans = new TransactionScope()) { Entities entities = ContextFactory.GetInstance(); List <string> lstMaCNang = new List <string>(); string taiNguyenMenu = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri(); foreach (List <string> lst in lstPhanQuyen) { // Xóa hết phân quyền cũ foreach (string tn in lst) { HT_TNGUYEN_KTHAC tnkt = entities.HT_TNGUYEN_KTHAC.FirstOrDefault(e => e.MA_DTUONG.Equals(maDoiTuong) && e.MA_DTUONG_LOAI.Equals(loaiDoiTuong) && e.MA_TNGUYEN.Equals(tn) && e.MA_TNGUYEN_LOAI.Equals(taiNguyenMenu)); if (tnkt != null) { entities.HT_TNGUYEN_KTHAC.DeleteObject(tnkt); entities.SaveChanges(); } if (lst.IndexOf(tn) > 0) { if (!lstMaCNang.Contains(tn)) { lstMaCNang.Add(tn); } // ID của tính năng được gán vào tham số Capacity khi khởi tạo list phía client int idTinhNang = Convert.ToInt32(lst.First()); HT_CNANG_TNANG cntn = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.MA_CNANG.Equals(tn) && e.ID_TNANG == idTinhNang); // ID của tính năng được lưu trong trường GTRI_TNGUYEN HT_CNANG_PQUYEN cnpq = entities.HT_CNANG_PQUYEN.FirstOrDefault(e => e.MA_DTUONG.Equals(maDoiTuong) && e.MA_DTUONG_LOAI.Equals(loaiDoiTuong) && e.ID_CNANG_TNANG == cntn.ID); if (cnpq != null) { entities.HT_CNANG_PQUYEN.DeleteObject(cnpq); entities.SaveChanges(); } } } foreach (string tn in lst) { if (lst.IndexOf(tn) > 0) { HT_CNANG_PQUYEN obj = new HT_CNANG_PQUYEN(); // ID của tính năng được gán vào tham số Capacity khi khởi tạo list phía client int idTinhNang = Convert.ToInt32(lst.First()); HT_CNANG_TNANG cntn = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.MA_CNANG.Equals(tn) && e.ID_TNANG == idTinhNang); obj.ID_CNANG_TNANG = cntn.ID; if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NGUOI_SDUNG.layGiaTri())) { obj.ID_DTUONG = entities.HT_NSD.FirstOrDefault(e => e.MA_NSD.Equals(maDoiTuong)).ID; } if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NHOM_NGUOI_SDUNG.layGiaTri())) { obj.ID_DTUONG = entities.HT_NHNSD.FirstOrDefault(e => e.MA_NHNSD.Equals(maDoiTuong)).ID; } obj.MA_DTUONG = maDoiTuong; obj.MA_DTUONG_LOAI = loaiDoiTuong; obj.MA_DVI_QLY = entities.HT_NSD.FirstOrDefault(e => e.MA_DANG_NHAP.ToLower().Equals(nguoiCapNhat.ToLower())).MA_DVI_QLY; obj.MA_DVI_TAO = obj.MA_DVI_QLY; obj.NGAY_CNHAT = DateTime.Today.ToString("yyyyMMdd"); obj.NGAY_NHAP = DateTime.Today.ToString("yyyyMMdd"); obj.NGUOI_CNHAT = nguoiCapNhat; obj.NGUOI_NHAP = nguoiCapNhat; obj.TTHAI_BGHI = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri(); obj.TTHAI_NVU = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri(); entities.HT_CNANG_PQUYEN.AddObject(obj); entities.SaveChanges(); } } } // Tạo quyền mới foreach (string maCNang in lstMaCNang) { HT_TNGUYEN_KTHAC obj = new HT_TNGUYEN_KTHAC(); HT_CNANG cn = entities.HT_CNANG.FirstOrDefault(e => e.MA_CNANG.Equals(maCNang)); obj.GTRI_TNGUYEN = cn.ID.ToString(); obj.ID_TNGUYEN = cn.ID; obj.MA_TNGUYEN = cn.MA_CNANG; obj.ID_TNGUYEN_CHA = cn.ID_CNANG_CHA; if (cn.ID_CNANG_CHA != null) { obj.MA_TNGUYEN_CHA = entities.HT_CNANG.FirstOrDefault(e => e.ID == cn.ID_CNANG_CHA).MA_CNANG; } obj.TEN_TNGUYEN = cn.TEN_CNANG; if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NGUOI_SDUNG.layGiaTri())) { obj.ID_DTUONG = entities.HT_NSD.FirstOrDefault(e => e.MA_NSD.Equals(maDoiTuong)).ID; } if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NHOM_NGUOI_SDUNG.layGiaTri())) { obj.ID_DTUONG = entities.HT_NHNSD.FirstOrDefault(e => e.MA_NHNSD.Equals(maDoiTuong)).ID; } obj.ID_TNGUYEN_LOAI = entities.HT_TNGUYEN_LOAI.FirstOrDefault(e => e.MA_TNGUYEN_LOAI.Equals(taiNguyenMenu)).ID; obj.MA_DTUONG = maDoiTuong; obj.MA_DTUONG_LOAI = loaiDoiTuong; obj.KIEU_DLIEU = "String"; obj.MA_DVI_QLY = entities.DM_DON_VI.First().MA_DVI; obj.MA_DVI_TAO = obj.MA_DVI_QLY; obj.MA_TNGUYEN_LOAI = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri(); obj.NGAY_CNHAT = DateTime.Today.ToString("yyyyMMdd"); obj.NGAY_NHAP = DateTime.Today.ToString("yyyyMMdd"); obj.NGUOI_CNHAT = nguoiCapNhat; obj.NGUOI_NHAP = nguoiCapNhat; obj.TTHAI_BGHI = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri(); obj.TTHAI_NVU = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri(); entities.HT_TNGUYEN_KTHAC.AddObject(obj); entities.SaveChanges(); if (cn.ID_CNANG_CHA != null) { InsertParrentTNKT(cn.ID_CNANG_CHA.Value, maDoiTuong, obj.ID_DTUONG, loaiDoiTuong, nguoiCapNhat); } } trans.Complete(); return(true); } } catch (Exception ex) { LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex); throw ex; } }
private void BuildGrid() { Mouse.OverrideCursor = Cursors.Wait; try { // Lấy chức năng theo phân hệ string maPhanHe = lstSourcePhanHe.ElementAt(cmbPhanHeChucNang.SelectedIndex).KeywordStrings.First(); dsCNangAll = qtht.layCNangTheoPhanHe(maPhanHe); // Lấy CNangTnang theo chức năng trong phân hệ List <int> lstIdChucNang = dsCNangAll.Select(e => e.ID).Distinct().ToList(); dsCNangTNangAll = qtht.layCNangTNangTheoListIdChucNang(lstIdChucNang); // Khởi tạo Table source: STT, Mã, Tên dt = new DataTable(); dt.Columns.Add("STT", typeof(int)); dt.Columns.Add("MA", typeof(string)); dt.Columns.Add("CHUCNANG", typeof(string)); // Lấy các tính năng được phân quyền trong hệ thống dsTNangAll = qtht.layTNangDuocPhanQuyen(); // Khởi tạo Table source: Các cột tính năng được phân quyền trong hệ thống foreach (HT_TNANG item in dsTNangAll) { dt.Columns.Add(item.MA_TNANG, typeof(bool)); } // Uncheck toàn bộ các header View.IsChecked = false; Add.IsChecked = false; Modify.IsChecked = false; Delete.IsChecked = false; Approve.IsChecked = false; Cancel.IsChecked = false; Refuse.IsChecked = false; FullControl.IsChecked = false; int stt = 0; if (grDSDoiTuong.SelectedItems.Count > 0) { // Lấy loại đối tượng phân quyền là loại NSD hay NHNSD được chọn từ combo string loaiDoiTuong = lstSourceLoaiDTuong.ElementAt(cmbDoiTuong.SelectedIndex).KeywordStrings.First(); // Lấy đối tượng phân quyền là NSD hay NHNSD được chọn từ grid DataRow dr = (DataRow)grDSDoiTuong.SelectedItem; string maDoiTuong = dr[2].ToString(); // Lấy dữ liệu phân quyền của đối tượng trong phân hệ được chọn //dsCNangPQuyenDoiTuong = qtht.layCNangPQuyenTheoDoiTuong(maDoiTuong, loaiDoiTuong).ToList(); dsCNangPQuyenDoiTuong = qtht.layCNangPQuyenTheoDoiTuongChucNang(maDoiTuong, loaiDoiTuong, lstIdChucNang).ToList(); List <int> lstIdCNangTNang = dsCNangPQuyenDoiTuong.Select(e => e.ID_CNANG_TNANG.Value).ToList(); dsCNangTNangDoiTuong = dsCNangTNangAll.Where(e => lstIdCNangTNang.Contains(e.ID)).ToList(); foreach (HT_CNANG item in dsCNangAll) { // Lấy dữ liệu để đối chiếu và hiển thị các Chức năng, Tính năng đã hay chưa phân quyền List <int> dsIdTNangAll = new List <int>(); dsIdTNangAll = dsCNangTNangAll.Where(e => e.ID_CNANG == item.ID).Select(e => e.ID_TNANG).ToList(); List <int> dsIdTNangDoiTuong = new List <int>(); dsIdTNangDoiTuong = dsCNangTNangDoiTuong.Where(e => e.ID_CNANG == item.ID).Select(e => e.ID_TNANG).ToList(); DataRow r = dt.NewRow(); bool isAdd = false; // Lấy mã chức năng ... HT_CNANG_TNANG htCNangTNangFull = dsCNangTNangDoiTuong.FirstOrDefault(e => e.ID_CNANG == item.ID && e.MA_TNANG.Equals("FullControl")); // đối chiếu với source, nếu có thì hiển thị checked for (int i = 0; i < dsTNangAll.Count; i++) { if (dsIdTNangAll.Contains(dsTNangAll[i].ID)) { if (dsIdTNangDoiTuong.Contains(dsTNangAll[i].ID) || htCNangTNangFull != null) { r[i + 3] = true; } else { r[i + 3] = false; } isAdd = true; } else { r[i + 3] = DBNull.Value; } } // add vào source if (isAdd) { stt = stt + 1; r[0] = stt; r[1] = item.MA_CNANG; r[2] = LLanguage.SearchResourceByKey(item.MA_NNGU); dt.Rows.Add(r); } } } else { foreach (var item in dsCNangAll) { // Lấy dữ liệu để đối chiếu và hiển thị các Chức năng, Tính năng đã hay chưa phân quyền List <int> dsIdTNangAll = new List <int>(); dsIdTNangAll = dsCNangTNangAll.Where(e => e.ID_CNANG == item.ID).Select(e => e.ID_TNANG).ToList(); List <int> dsIdTNangDoiTuong = new List <int>(); dsIdTNangDoiTuong = dsCNangTNangDoiTuong.Where(e => e.ID_CNANG == item.ID).Select(e => e.ID_TNANG).ToList(); DataRow r = dt.NewRow(); bool isAdd = false; // đối chiếu với source, nếu có thì hiển thị checked for (int i = 0; i < dsTNangAll.Count; i++) { if (dsIdTNangAll.Contains(dsTNangAll[i].ID)) { if (dsIdTNangDoiTuong.Contains(dsTNangAll[i].ID)) { r[i + 3] = true; } else { r[i + 3] = false; } isAdd = true; } else { r[i + 3] = DBNull.Value; } } // add vào source if (isAdd) { stt = stt + 1; r[0] = stt; r[1] = item.MA_CNANG; r[2] = LLanguage.SearchResourceByKey(item.MA_NNGU); dt.Rows.Add(r); } } } // đổ source lên lưới grDanhSach.ItemsSource = null; grDanhSach.ItemsSource = dt.DefaultView; } catch (System.Exception ex) { CommonFunction.ThongBaoLoi(ex); LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex); } Mouse.OverrideCursor = Cursors.Arrow; }