public IEnumerable <string> GetUserViewRoleIds(string userId) { List <string> result = new List <string>(); SessionManager.DoWork(session => { ApplicationUser applicationUser = AuthenticationHelper.GetUserById(new Guid(HttpContext.Current.User.Identity.GetUserId()), HttpContext.Current.User.Identity.Name); Staff staff = ControllerHelpers.GetCurrentStaff(session); List <int> AgentObjectTypeIds = new List <int>(); if (applicationUser.WebGroupId == "00000000-0000-0000-0000-000000000000" || applicationUser.WebGroupId == "00000000-0000-0000-0000-000000000001") { AgentObjectTypeIds.Add(4); } if (staff != null) { if (staff.StaffInfo.Position == null) { if (staff.StaffInfo.StaffType.ManageCode == "3") { AgentObjectTypeIds.Add(2); //Nhân viên } else { AgentObjectTypeIds.Add(1); //Giảng viên } } else { if (!applicationUser.IsKPIs && staff.StaffInfo.Position.AgentObjectType != null) { AgentObjectTypeIds.Add(staff.StaffInfo.Position.AgentObjectType.Id); } else { AgentObjectTypeIds.Add(Convert.ToInt32(applicationUser.AgentObjectTypeId)); } } //if (!SessionHelper.Data<bool>(SessionKey.IsKPIs) && staff.StaffInfo.AgentObjects.Count > 1) //{ // foreach(AgentObject ab in staff.StaffInfo.AgentObjects) // { // if(!AgentObjectTypeIds.Any(at=>at==ab.AgentObjectType.Id)) // AgentObjectTypeIds.Add(ab.AgentObjectType.Id); // } //} //foreach(int aId in AgentObjectTypeIds) //{ // AgentObjectType agt = session.Query<AgentObjectType>().SingleOrDefault(a => a.Id == aId); // if (agt != null) // result.AddRange(agt.Roles.Select(r => r.Id).ToList()); //} } }); return(result); }
public ActionResult GetUserSessionInfo() { ApplicationUser result = new ApplicationUser(); string userName = User.Identity.Name; string currentUserId = User.Identity.GetUserId(); if (currentUserId != null) { result = AuthenticationHelper.GetUserById(new Guid(currentUserId), userName); } //Dictionary<string, object> result = new Dictionary<string, object>(); //result["UserId"] = Session[SessionKey.UserId.ToString()]; //result["ThongTinNhanVien"] = Session[SessionKey.ThongTinNhanVien.ToString()]; //result["UserName"] = Session[SessionKey.UserName.ToString()]; //result["HoVaTen"] = Session[SessionKey.HoVaTen.ToString()]; //result["WebGroupId"] = Session[SessionKey.WebGroupId.ToString()]; return(result.ToJSON()); }
//public int GetUserAgentObjectTypeId() //{ // int AgentObjectTypeId = -1; // SessionManager.DoWork(session => // { // Guid staffId = new Guid(AuthenticationHelper.GetUserById(new Guid(User.Identity.GetUserId()), User.Identity.Name).Id); // if (staffId != Guid.Empty) // { // Staff staff = session.Query<Staff>().SingleOrDefault(a => a.Id == staffId); // if (staff.StaffInfo.Position == null) // { // if (staff.StaffInfo.StaffType.ManageCode == "3") // AgentObjectTypeId = 2; //Nhân viên // else // AgentObjectTypeId = 1; //Giảng viên // } // else // { // AgentObjectTypeId = staff.StaffInfo.Position.AgentObjectType.Id; // } // } // }); // return AgentObjectTypeId; //} public int GetUserAgentObjectTypeId() { int AgentObjectTypeId = -1; SessionManager.DoWork(session => { Guid staffId = Guid.Empty; if (AuthenticationHelper.GetUserById(new Guid(User.Identity.GetUserId()), User.Identity.Name).Id != null) { staffId = new Guid(AuthenticationHelper.GetUserById(new Guid(User.Identity.GetUserId()), User.Identity.Name).Id); } //Trường hợp là user không ủy quyền if (staffId != Guid.Empty) { Staff staff = session.Query <Staff>().SingleOrDefault(a => a.Id == staffId); //Trường hợp thuần không kiêm nhiệm if (staff.StaffInfo.AgentObjects.Count <= 1) { if (staff.StaffInfo.Position == null) { if (staff.StaffInfo.StaffType.ManageCode == "3") { AgentObjectTypeId = 2; //Nhân viên } else { AgentObjectTypeId = 1; //Giảng viên } } else { AgentObjectTypeId = staff.StaffInfo.Position.AgentObjectType.Id; } } else { bool all = false; bool semester = false; bool month = false; //Lấy danh sách đối tượng của user all = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 3 || ao.AgentObjectType.Id == 4 || ao.AgentObjectType.Id == 5 || ao.AgentObjectType.Id == 6); semester = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 1 || ao.AgentObjectType.Id == 7 || ao.AgentObjectType.Id == 8 || ao.AgentObjectType.Id == 9); month = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 2); //Cả 3 loại kế hoạch if (all == true) { AgentObjectTypeId = 100; } else //Chỉ hk, tháng if (semester == true && month == true) { AgentObjectTypeId = 99; } else //Chỉ hk if (semester == true && month == false) { AgentObjectTypeId = 98; } else //Chỉ tháng if (semester == false && month == true) { AgentObjectTypeId = 97; } } } //Trường hợp user ủy quyền không có thông tin nhân viên, gán staff là Trưởng đơn vị else { Staff staff = ControllerHelpers.GetCurrentStaff(session); //Trường hợp thuần không kiêm nhiệm if (staff.StaffInfo.AgentObjects.Count <= 1) { if (staff.StaffInfo.Position == null) { if (staff.StaffInfo.StaffType.ManageCode == "3") { AgentObjectTypeId = 2; //Nhân viên } else { AgentObjectTypeId = 1; //Giảng viên } } else { AgentObjectTypeId = staff.StaffInfo.Position.AgentObjectType.Id; } } else { bool all = false; bool semester = false; bool month = false; //Lấy danh sách đối tượng của user all = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 3 || ao.AgentObjectType.Id == 4 || ao.AgentObjectType.Id == 5 || ao.AgentObjectType.Id == 6); semester = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 1 || ao.AgentObjectType.Id == 7 || ao.AgentObjectType.Id == 8 || ao.AgentObjectType.Id == 9); month = staff.StaffInfo.AgentObjects.Any(ao => ao.AgentObjectType.Id == 2); //Cả 3 loại kế hoạch if (all == true) { AgentObjectTypeId = 100; } else //Chỉ hk, tháng if (semester == true && month == true) { AgentObjectTypeId = 99; } else //Chỉ hk if (semester == true && month == false) { AgentObjectTypeId = 98; } else //Chỉ tháng if (semester == false && month == true) { AgentObjectTypeId = 97; } } } }); return(AgentObjectTypeId); }