public bool LdapDangNhap(string username, string pass) { try { var ldapUrl = System.Configuration.ConfigurationManager.AppSettings["DirectoryPath"]; var domain = System.Configuration.ConfigurationManager.AppSettings["DirectoryDomain"]; string domUser = domain + @"\" + username; DirectoryEntry entry = new DirectoryEntry(ldapUrl, domUser, pass, AuthenticationTypes.Secure); DirectorySearcher searcher = new DirectorySearcher(entry); searcher.Filter = "(&(objectClass=user)(SAMAccountName=" + username + "))"; searcher.SearchScope = SearchScope.Subtree; searcher.PropertiesToLoad.Add("givenName"); searcher.PropertiesToLoad.Add("mail"); SearchResult result = searcher.FindOne(); if (result != null) { string sHoTen = GetProperty(result, "givenName"); string sMail = GetProperty(result, "mail"); NhanVien ktNhanVien = db.NhanViens.SingleOrDefault(n => n.TenDangNhap == username); if (ktNhanVien == null) { NhanVien themNV = new NhanVien(); themNV.HoTen = sHoTen; themNV.TenDangNhap = username; themNV.Email = sMail; themNV.MatKhau = null; themNV.KichHoat = true; themNV.Ldap = true; db.NhanViens.Add(themNV); // them ldap vao nhom default IEnumerable <NhomTV> layNhom = db.NhomTVs.Where(n => n.MacDinh == true); foreach (var item in layNhom) { Nhom_Nhanvien themN_NV = new Nhom_Nhanvien(); themN_NV.IdNhanVien = themNV.Id; themN_NV.MaNhom = item.MaNhom; db.Nhom_Nhanvien.Add(themN_NV); } db.SaveChanges(); Session["DangNhap"] = themNV; } else { Session["DangNhap"] = ktNhanVien; } return(true); } } catch (Exception ex) { return(false); } return(false); }
public ActionResult ThemMoi(NhanVien nv, FormCollection c, string[] Nhom) { if (KiemTraSession() == true) { return(RedirectToAction("DangNhap", "QuanTri")); } ViewBag.NhomTV = db.NhomTVs.Where(n => n.MaNhom != 1).OrderBy(n => n.TenNhom); int ktTonTai = db.NhanViens.Where(n => n.TenDangNhap == nv.TenDangNhap).Count(); if (ktTonTai != 0) { ViewBag.ktTenDangNhap = "Tên đăng nhập đã tồn tại"; return(View()); } if (!string.IsNullOrEmpty(nv.Email)) { ktTonTai = db.NhanViens.Where(n => n.Email.ToLower().Trim() == nv.Email.ToLower().Trim()).Count(); if (ktTonTai != 0) { ViewBag.ktEmail = "Email đã tồn tại"; return(View()); } } if (ModelState.IsValid) { if (nv.Ldap == null) { nv.Ldap = false; } nv.MatKhau = Tools.md5(nv.MatKhau); if (!string.IsNullOrEmpty(c["NgaySinhs"])) { nv.NgaySinh = DateTime.ParseExact(c["NgaySinhs"].ToString(), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); } db.NhanViens.Add(nv); // them tai khoan vao nhom if (Nhom != null && Nhom.Length != 0) { for (int i = 0; i < Nhom.Length; i++) { Nhom_Nhanvien themN_NV = new Nhom_Nhanvien(); themN_NV.IdNhanVien = nv.Id; themN_NV.MaNhom = int.Parse(Nhom[i]); db.Nhom_Nhanvien.Add(themN_NV); } } db.SaveChanges(); TempData["thongbao"] = "<script> $('#div-pthongbao').text('Tạo tài khoản thành công !'); $('#div-thongbao').show(); $('#div-thongbao').fadeOut(5000);</script>"; } return(View()); }
public ActionResult ChinhSua(NhomTV nhom, string[] TaiKhoan, string[] Quyen, string[] idFAQ) { if (KiemTraSession() == true) { return(RedirectToAction("DangNhap", "QuanTri")); } if (ModelState.IsValid) { if (nhom.MacDinh == null) { nhom.MacDinh = false; } db.Entry(nhom).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //xoa du lieu cu IEnumerable <Nhom_Nhanvien> xoaN_NV = db.Nhom_Nhanvien.Where(n => n.MaNhom == nhom.MaNhom); db.Nhom_Nhanvien.RemoveRange(xoaN_NV); IEnumerable <Nhom_Quyen> xoaN_Q = db.Nhom_Quyen.Where(n => n.MaNhom == nhom.MaNhom); db.Nhom_Quyen.RemoveRange(xoaN_Q); IEnumerable <Nhom_FAQ> xoaN_FAQ = db.Nhom_FAQ.Where(n => n.MaNhom == nhom.MaNhom); db.Nhom_FAQ.RemoveRange(xoaN_FAQ); db.SaveChanges(); if (TaiKhoan != null && TaiKhoan.Length != 0) // them nhom_nhanvien { for (int i = 0; i < TaiKhoan.Length; i++) { string sTaiKhoan = TaiKhoan[i]; NhanVien layNV = db.NhanViens.SingleOrDefault(n => n.TenDangNhap == sTaiKhoan); int iKT = db.Nhom_Nhanvien.Where(n => n.MaNhom == nhom.MaNhom && n.IdNhanVien == layNV.Id).Count(); if (iKT == 0) { Nhom_Nhanvien themN_NV = new Nhom_Nhanvien(); themN_NV.MaNhom = nhom.MaNhom; themN_NV.IdNhanVien = layNV.Id; db.Nhom_Nhanvien.Add(themN_NV); } } } if (Quyen != null && Quyen.Length != 0) // them nhom_quyen { for (int i = 0; i < Quyen.Length; i++) { string sQuyen = Quyen[i]; int iKT = db.Nhom_Quyen.Where(n => n.MaNhom == nhom.MaNhom && n.MaQuyen == sQuyen).Count(); if (iKT == 0) { Nhom_Quyen themN_Q = new Nhom_Quyen(); themN_Q.MaNhom = nhom.MaNhom; themN_Q.MaQuyen = Quyen[i]; db.Nhom_Quyen.Add(themN_Q); } } } if (idFAQ != null && idFAQ.Length != 0) // them nhom_faq { for (int i = 0; i < idFAQ.Length; i++) { int iidFaq = int.Parse(idFAQ[i]); int iKT = db.Nhom_FAQ.Where(n => n.MaNhom == nhom.MaNhom && n.MaFAQ == iidFaq).Count(); if (iKT == 0) { Nhom_FAQ themN_FAQ = new Nhom_FAQ(); themN_FAQ.MaNhom = nhom.MaNhom; themN_FAQ.MaFAQ = iidFaq; db.Nhom_FAQ.Add(themN_FAQ); } } } db.SaveChanges(); TempData["thongbao"] = "<script> $('#div-pthongbao').text('Cập nhật thành công !'); $('#div-thongbao').show(); $('#div-thongbao').fadeOut(5000);</script>"; } return(RedirectToAction("DanhSach")); }
public ActionResult ChinhSua(NhanVien nv, FormCollection c, string[] Nhom) { if (KiemTraSession() == true) { return(RedirectToAction("DangNhap", "QuanTri")); } ViewBag.NhomTV = db.NhomTVs.Where(n => n.MaNhom != 1).OrderBy(n => n.TenNhom); ViewBag.Nhom_NV = db.Nhom_Nhanvien.Where(n => n.IdNhanVien == nv.Id); NhanVien nvcu = db.NhanViens.AsNoTracking().SingleOrDefault(n => n.TenDangNhap == nv.TenDangNhap); if (nv.MatKhau != null) // xu ly mat khau { nv.MatKhau = Tools.md5(nv.MatKhau); } else { nv.MatKhau = nvcu.MatKhau; } if (nv.Ldap == null) { nv.Ldap = false; } if (!string.IsNullOrEmpty(nv.Email)) { int ktTonTai = db.NhanViens.Where(n => n.Email.ToLower().Trim() == nv.Email.ToLower().Trim()).Count(); if (ktTonTai != 0 && nv.Email.ToLower().Trim() != nvcu.Email.ToLower().Trim()) // kiem tra email co ton tai { ViewBag.ktEmail = "Email đã tồn tại"; return(View(nv)); } } if (ModelState.IsValid) { if (!string.IsNullOrEmpty(c["NgaySinhs"])) { nv.NgaySinh = DateTime.ParseExact(c["NgaySinhs"].ToString(), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); } db.Entry(nv).State = System.Data.Entity.EntityState.Modified; IEnumerable <Nhom_Nhanvien> xoaN_NV = db.Nhom_Nhanvien.Where(n => n.IdNhanVien == nv.Id); db.Nhom_Nhanvien.RemoveRange(xoaN_NV); db.SaveChanges(); // them tai khoan vao nhom if (Nhom != null && Nhom.Length != 0) { for (int i = 0; i < Nhom.Length; i++) { Nhom_Nhanvien themN_NV = new Nhom_Nhanvien(); themN_NV.IdNhanVien = nv.Id; themN_NV.MaNhom = int.Parse(Nhom[i]); db.Nhom_Nhanvien.Add(themN_NV); } } db.SaveChanges(); TempData["thongbao"] = "<script> $('#div-pthongbao').text('Cập nhật tài khoản thành công !'); $('#div-thongbao').show(); $('#div-thongbao').fadeOut(5000);</script>"; } return(View(nv)); }