public bool RefreshUserLoginState(string userId, string device = "") { using (var db = new BC.EnterpriseData.Model.BCEnterpriseContext()) { var _m = db.UserLoginStates.FirstOrDefault(m => m.UserID == userId && (string.IsNullOrEmpty(device) || m.Device == device)); if (_m != null) { _m.UpdateTime = DateTime.Now; } return(db.SaveChanges() > 0); } }
public bool DeleteUserLoginState(string UserID, string Device = "", string reason = "") { if (string.IsNullOrEmpty(UserID)) { return(false); } using (var db = new BC.EnterpriseData.Model.BCEnterpriseContext()) { var _m = db.UserLoginStates.Where(m => m.UserID == UserID && (string.IsNullOrEmpty(Device) || m.Device == Device)).FirstOrDefault(); if (_m != null) { LoginLogWrite(db, _m, EnterpriseData.Common.LoginStatus.Logout, reason); db.UserLoginStates.Remove(_m); } int i = db.SaveChanges(); return(i > 0 ? true : false); } }
/// <summary> /// 获取一个部门下的所有子部门 /// </summary> /// <param name="DepartmentId">部门id</param> /// <param name="db"></param> /// <returns></returns> public bool DeleteUserLoginState(long UserLoginStateID, string reason = "") { if (UserLoginStateID <= 0) { return(false); } using (var db = new BC.EnterpriseData.Model.BCEnterpriseContext()) { var _m = db.UserLoginStates.Where(m => m.UserLoginStateID == UserLoginStateID).FirstOrDefault(); if (_m == null) { return(true); } LoginLogWrite(db, _m, EnterpriseData.Common.LoginStatus.Logout, reason); db.UserLoginStates.Remove(_m); int i = db.SaveChanges(); return(true); } }
public List <UserLoginStateDto> GetUserLoginStateList(SessionUserDto SNUser, bool ShowAll, string UserName, int pageNumber, int pageSize, out int amount) { using (var db = new BC.EnterpriseData.Model.BCEnterpriseContext()) { ClearUserLoginState(db); string EnterpriseID = SNUser.EnterpriseID; int DepartmentID = SNUser.DepartmentID == null ? 0 : SNUser.DepartmentID.Value; List <FrontUser> FUserList = new List <FrontUser>(); List <string> FUserIds = new List <string>(); var queryfusers = db.FrontUsers.Where(m => m.EnterpiseID == EnterpriseID); if (queryfusers.Count() > 0) { FUserList = queryfusers.ToList();//当前企业下的所有用户 FUserIds = FUserList.Select(m => m.UserID).ToList(); } var list = db.UserLoginStates.Where(m => FUserIds.Contains(m.UserID)); if (!string.IsNullOrEmpty(UserName)) { list = list.Where(m => m.UserName.Contains(UserName)); } if (ShowAll == false) { var depList = GetSubDepartmentList(DepartmentID, db); List <int> depIdList = new List <int>(); depIdList.Add(DepartmentID); if (depList != null && depList.Count > 0) { depIdList.AddRange(depList.Select(m => m.DepartmentID));//子部门id } var subUsers = FUserList.Where(m => depIdList.Contains(m.DepartmentID.Value));//子部门用户 if (subUsers != null && subUsers.Count() > 0) { FUserIds = subUsers.Select(m => m.UserID).ToList(); list = list.Where(m => FUserIds.Contains(m.UserID)); } else { amount = 0; return(new List <UserLoginStateDto>()); } } int pagecount; amount = list.Count(); if (pageSize > 0) { // 获取总共页数 pagecount = (list.Count() + pageSize - 1) / pageSize; } else { pagecount = 0; } //页码判断,小于1则为1,大于最大页码则为最大页码 if (pageNumber > pagecount) { pageNumber = pagecount; } if (pageNumber < 1) { pageNumber = 1; } return(list.OrderBy(x => x.UserLoginStateID).Skip(pageSize * (pageNumber - 1)).Take(pageSize).Select(obj => new UserLoginStateDto() { UserID = obj.UserID, Device = obj.Device, LoginIP = obj.LoginIP, LoginTime = obj.LoginTime, LoginToken = obj.LoginToken, UserLoginStateID = obj.UserLoginStateID, UserName = obj.UserName }).ToList()); } }