/// <summary> /// 用户登录 /// </summary> /// <param name="loginInfo">登录信息</param> /// <returns>业务操作结果</returns> public OperationResult Login(LoginInfo loginInfo) { PublicHelper.CheckArgument(loginInfo, "loginInfo"); var user = UserRepository.Entities.SingleOrDefault(o => o.UserName == loginInfo.LoginName); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定账号的用户不存在。")); } if (!(user.Password.Compare(loginInfo.Password))) { return(new OperationResult(OperationResultType.Warning, "登录密码不正确。")); } LoginLog loginLog = new LoginLog { IpAddress = loginInfo.IpAddress, UserId = user.Id }; LoginLogRepository.Insert(loginLog); var info = new UserInfo() { UserName = user.UserName, Password = user.Password, NickName = user.NickName, Email = user.Email }; return(new OperationResult(OperationResultType.Success, "登录成功。", info)); }
//两表同时修改 public void Method5() { var repo = new UserRepository(); var repo1 = new LoginLogRepository(); var user = new SysUser() { UserName = "******", Password = "******", LoginLogs = new List <LoginLog>() { new LoginLog() { IpAddress = "user5的ip" } } }; repo.Insert(user); SysUser newUser = repo.Entities.Include(p => p.LoginLogs).SingleOrDefault(o => o.UserName == "user5"); newUser.UserName = "******"; newUser.LoginLogs.FirstOrDefault().IpAddress = "修改的user5的ip"; repo.Update(newUser, false); repo1.Update(newUser.LoginLogs.FirstOrDefault(), false); repo.Save(); }
public object GetDetails(int page, int rows, string SystemID, string UserID, string LoginPC, string LoginTime) { IQueryable <AUTH_LOGIN_LOG> LOGINLOGQuery = LoginLogRepository.GetQueryable(); var HelpContent = LOGINLOGQuery.Where(c => c.SYSTEM_SYSTEM_ID.Contains(SystemID) && c.USER_USER_ID.Contains(UserID) && c.LOGIN_PC.Contains(LoginPC) && c.LOGIN_TIME.Contains(LoginTime)); HelpContent = HelpContent.OrderBy(h => h.LOG_ID); int total = HelpContent.Count(); HelpContent = HelpContent.Skip((page - 1) * rows).Take(rows); var temp = HelpContent.ToArray().Select(c => new { ID = c.LOG_ID, LOGIN_PC = c.LOGIN_PC, LOGIN_TIME = c.LOGIN_TIME, LOGOUT_TIME = c.LOGOUT_TIME, SYSTEM_SYSTEM_ID = c.SYSTEM_SYSTEM_ID, SYSTEM_NAME = c.AUTH_SYSTEM.SYSTEM_NAME, USER_USER_ID = c.USER_USER_ID, CHINESE_NAME = c.AUTH_USER.CHINESE_NAME, USER_NAME = c.AUTH_USER.USER_NAME }); return(new { total, rows = temp.ToArray() }); }
/// <summary> /// /// </summary> /// <param name="loginInfo"></param> /// <returns></returns> public OperationResult Login(LoginInfo loginInfo) { PublicHelper.CheckArgument(loginInfo, "logininfo"); var user = SysUserRepository.Entities.SingleOrDefault( u => u.Account == loginInfo.Account || u.Email == loginInfo.Email); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定的账号不存在")); } if (user.Password != loginInfo.Password) { return(new OperationResult(OperationResultType.Warning, "登录密码不正确")); } var loginLog = new LoginLog { IpAddress = loginInfo.IpAddress, User = user }; LoginLogRepository.Insert(loginLog); return(new OperationResult(OperationResultType.Success, "登录成功", user)); }
/// <summary> /// 用户登录 /// </summary> /// <param name="loginInfo">登录信息</param> /// <returns>业务操作结果</returns> public virtual OperationResult Login(LoginInfo loginInfo, string CheckCode, ref SystemUser user) { try { PublicHelper.CheckArgument(loginInfo, "loginInfo"); if (loginInfo.CheckCode.ToUpper() != CheckCode.ToUpper()) { return(new OperationResult(OperationResultType.QueryNull, "验证码输入有误。")); } user = SysUserRepository.Entities.SingleOrDefault(m => m.UserName == loginInfo.Account || m.Email == loginInfo.Account); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定账号的用户不存在。")); } if (user.Password != loginInfo.Password) { return(new OperationResult(OperationResultType.Warning, "登录密码不正确。")); } LoginLog loginLog = new LoginLog { IpAddress = loginInfo.IpAddress, SystemUserID = user.Id }; LoginLogRepository.Insert(loginLog); return(new OperationResult(OperationResultType.Success, "登录成功。", user)); } catch (Exception ex) { return(new OperationResult(OperationResultType.QueryNull, ex.Message.ToString()));; } }
public AccountService(IOptions <JwtSettings> _jwtSettingsAccesser, ILoginInfo loginInfo, LoginLogService loginLogService, LoginLogRepository loginLogRepository, AccountRepository accountRepository, AccountRoleRepository accountRoleRepository, IMapper mapper) { _jwtSettings = _jwtSettingsAccesser.Value; _loginLogService = loginLogService; _loginLogRepository = loginLogRepository; _accountRepository = accountRepository; _accountRoleRepository = accountRoleRepository; _loginInfo = loginInfo; _mapper = mapper; }
public bool Add(string UserName, string SystemID) { AUTH_LOGIN_LOG LoginLog = new AUTH_LOGIN_LOG(); LoginLog.LOG_ID = LoginLogRepository.GetNewID("AUTH_LOGIN_LOG", "LOG_ID"); LoginLog.LOGIN_PC = System.Net.Dns.Resolve(System.Net.Dns.GetHostName()).AddressList[0].ToString(); LoginLog.LOGIN_TIME = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); LoginLog.SYSTEM_SYSTEM_ID = SystemID; LoginLog.USER_USER_ID = UserRepository.GetSingle(i => i.USER_NAME == UserName).USER_ID; LoginLogRepository.Add(LoginLog); LoginLogRepository.SaveChanges(); return(true); }
public bool UpdateLoginLog(string user_name, string logout_time) { var LoginLog = LoginLogRepository.GetQueryable().Where(s => s.User.UserName == user_name).Select(s => s).OrderByDescending(s => s.LoginTime).ToArray(); if (LoginLog.Length > 0) { LoginLog[0].LogoutTime = logout_time; LoginLogRepository.SaveChanges(); return(true); } else { return(false); } }
public bool Delete(string loginLogId, out string strResult) { strResult = string.Empty; bool result = false; Guid loid = new Guid(loginLogId); var log = LoginLogRepository.GetQueryable().FirstOrDefault(lo => lo.LogID == loid); if (log != null) { LoginLogRepository.Delete(log); LoginLogRepository.SaveChanges(); result = true; } else { strResult = "原因:未找到当前需要删除的数据!"; } return(result); }
/// <summary> /// 用户登录 /// </summary> /// <param name="loginInfo">登录信息</param> /// <returns>业务操作结果</returns> public OperationResult Login(LoginInfo loginInfo) { Member member = MemberRepository.Entities.SingleOrDefault(m => m.UserName == loginInfo.Access || m.Email == loginInfo.Access); if (member == null) { return(new OperationResult(OperationResultType.QueryNull, "指定账号的用户不存在。")); } if (member.Password != loginInfo.Password) { return(new OperationResult(OperationResultType.Warning, "登录密码不正确。")); } LoginLog loginLog = new LoginLog { IpAddress = loginInfo.IpAddress, Member = member }; LoginLogRepository.Insert(loginLog); return(new OperationResult(OperationResultType.Success, "登录成功。", member)); }
//一步新增,从UserRepo public void Method1() { var repo = new UserRepository(); var repo1 = new LoginLogRepository(); var user = new SysUser() { UserName = "******", Password = "******", LoginLogs = new List <LoginLog>() { new LoginLog() { IpAddress = "user1的ip" } } }; repo.Insert(user); }
/// <summary> /// 用户登录 /// </summary> /// <param name="loginInfo">登录信息</param> /// <returns>业务操作结果</returns> public virtual OperationResult Login(LoginInfo loginInfo) { PublicHelper.CheckArgument(loginInfo, "loginInfo"); Member member = MemberRepository.Entities.SingleOrDefault(p => p.UserName.Equals(loginInfo.Access) || p.Email.Equals(loginInfo.Access)); if (member == null) { return(new OperationResult(OperationResultType.QueryNull, "指定账号的用户不存在。")); } if (member.Password != loginInfo.Password) { return(new OperationResult(OperationResultType.Warning, "登录密码不正确。")); } LoginLog loginLog = new LoginLog { IpAddress = loginInfo.IpAddress, Member = member }; LoginLogRepository.Insert(loginLog); return(new OperationResult(OperationResultType.Success, "登录成功。", member)); }
public bool Emptys(out string strResult) { strResult = string.Empty; bool result = false; var log = LoginLogRepository.GetQueryable(); if (log != null) { foreach (var lo in log) { LoginLogRepository.Delete(lo); } LoginLogRepository.SaveChanges(); result = true; } else { strResult = "原因:未找到当前需要删除的数据!"; } return(result); }
//所以还是一样的,追踪的对象才不会出现这种问题,因为它的修改会被上下文追踪 public void Method3() { var repo = new UserRepository(); var repo1 = new LoginLogRepository(); var user = new SysUser() { UserName = "******", Password = "******", }; repo.Insert(user); var newLoginLog = new LoginLog() { IpAddress = "user3的ip", User = user }; repo1.Insert(newLoginLog); }
public object GetDetails(int page, int rows, string userName, string systemName) { IQueryable <LoginLog> loginLogquery = LoginLogRepository.GetQueryable(); IQueryable <User> userLogquery = UserRepository.GetQueryable(); IQueryable <THOK.Authority.DbModel.System> systemLogquery = SystemRepository.GetQueryable(); var loginlog = loginLogquery.Join(userLogquery, lo => lo.User_UserID, u => u.UserID, (lo, u) => new { lo.LogID, lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.User_UserID, lo.System_SystemID, u.UserName }) .Join(systemLogquery, lo => lo.System_SystemID, s => s.SystemID, (lo, s) => new { lo.LogID, lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.User_UserID, lo.System_SystemID, lo.UserName, s.SystemName }) .Where(lo => lo.UserName.Contains(userName) && lo.SystemName.Contains(systemName)) .OrderByDescending(lo => lo.LoginTime); int total = loginlog.Count(); var loginlogs = loginlog.Skip((page - 1) * rows).Take(rows); var login = loginlogs .Select(lo => new { lo.LogID, lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.User_UserID, lo.System_SystemID, lo.UserName, lo.SystemName }); return(new { total, rows = login.ToArray() }); }
//最正常的新增方式 public void Method4() { var repo = new UserRepository(); var repo1 = new LoginLogRepository(); var user = new SysUser() { UserName = "******", Password = "******", }; repo.Insert(user); var newUser = repo.Entities.FirstOrDefault(p => p.UserName == "user4"); var newLoginLog = new LoginLog() { IpAddress = "user4的ip", UserId = newUser.Id }; repo1.Insert(newLoginLog); }
public bool CreateLoginLog(string login_time, string user_name, Guid system_ID, string ipaddress) { var userid = UserRepository.GetQueryable().Where(s => s.UserName == user_name).Select(s => new { userId = s.UserID }); if (userid.ToArray().Length > 0) { var LoginLog = new LoginLog() { LogID = Guid.NewGuid(), LoginPC = ipaddress, LoginTime = login_time, LogoutTime = "", User_UserID = userid.ToArray()[0].userId, System_SystemID = system_ID }; LoginLogRepository.Add(LoginLog); LoginLogRepository.SaveChanges(); return(true); } else { return(false); } }
public System.Data.DataTable GetLoginLog(int page, int rows, string loginPC, string loginTime, string logoutTime) { IQueryable <LoginLog> loginLogquery = LoginLogRepository.GetQueryable(); IQueryable <User> userLogquery = UserRepository.GetQueryable(); IQueryable <THOK.Authority.DbModel.System> systemLogquery = SystemRepository.GetQueryable(); var loginlog = loginLogquery.Join(userLogquery, lo => lo.User_UserID, u => u.UserID, (lo, u) => new { lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.System_SystemID, u.UserName }) .Join(systemLogquery, lo => lo.System_SystemID, s => s.SystemID, (lo, s) => new { lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.UserName, s.SystemName }) .Where(lo => lo.LoginPC.Contains(loginPC) && lo.LoginTime.Contains(loginTime) && lo.LogoutTime.Contains(logoutTime)) .OrderByDescending(lo => lo.LoginTime) .Select(lo => new { lo.LoginPC, lo.LoginTime, lo.LogoutTime, lo.UserName, lo.SystemName }); System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("登陆电脑", typeof(string)); dt.Columns.Add("登录时间", typeof(string)); dt.Columns.Add("退出时间", typeof(string)); dt.Columns.Add("登录的用户名", typeof(string)); dt.Columns.Add("登录的系统", typeof(string)); foreach (var item in loginlog) { dt.Rows.Add ( item.LoginPC, item.LoginTime, item.LogoutTime, item.UserName, item.SystemName ); } return(dt); }
/// <summary> /// Created by :Bhushan Dod /// Created Date :05/26/2015 /// Alert on screen on admin and manager if any employee idle for 30 min /// </summary> /// <param name="id"></param> /// <returns></returns> public dynamic EmployeeIdleStatus(long locationId, long userId) { dynamic result = null; workorderEMSEntities _workorderEMSEntities = new workorderEMSEntities(); try { objLoginLogRepository = new LoginLogRepository(); List <EmailToManagerModel> objEmailReturn = new List <EmailToManagerModel>(); var employeedata = _workorderEMSEntities.UserRegistrations.Where(x => x.UserId == userId && x.IsDeleted == false && x.UserType == 3).FirstOrDefault(); var logout = _workorderEMSEntities.LoginLogs.Where(x => x.LocationId == locationId && x.UserID == userId && x.IsActive == false).OrderByDescending(a => a.CreatedOn).FirstOrDefault(); //if (logout != null) //{ // return result; //} //else //{ result = objLoginLogRepository.IdleStatusOfEmployee(userId, locationId); if (result.Response != 0) { //send email and push notification to manager objEmailReturn = objEmailLogRepository.SendEmailToManagerForItemMissing(locationId, userId); //function return data according to location and username if (objEmailReturn.Count() > 0 && result.ResponseMessage == "Employee Idle") { foreach (var item in objEmailReturn) { var time = item.IdleTimeLimit; EmailHelper objEmailHelper = new EmailHelper(); objEmailHelper.emailid = item.ManagerEmail; objEmailHelper.ManagerName = item.ManagerName; //if (item.IdleTimeLimit.Value.ToString("tt") == "AM" && item.IdleTimeLimit.Value.ToString("hh") == "12") //{ // objEmailHelper.ProblemDesc = "00:"+item.IdleTimeLimit.Value.ToString("mm")+ " (hr:mm)"; //} //else{ // objEmailHelper.ProblemDesc = item.IdleTimeLimit.Value.ToString("hh:mm") + " (hr:mm)"; //} //"30 Min";// this is hardcoded time for all employee objEmailHelper.ProblemDesc = item.IdleTimeLimit.Value.ToString("HH:mm") + " (hr:mm)"; objEmailHelper.LocationName = item.LocationName; objEmailHelper.UserName = item.UserName; objEmailHelper.MailType = "EMPLOYEEIDLE"; objEmailHelper.SentBy = item.RequestBy; objEmailHelper.LocationID = item.LocationID; bool IsSent = objEmailHelper.SendEmailWithTemplate(); if (IsSent == true) { objEmailog = new EmailLog(); try { objEmailog.CreatedBy = item.RequestBy; objEmailog.CreatedDate = DateTime.UtcNow; objEmailog.DeletedBy = null; objEmailog.DeletedOn = null; objEmailog.LocationId = item.LocationID; objEmailog.ModifiedBy = null; objEmailog.ModifiedOn = null; objEmailog.SentBy = item.RequestBy; objEmailog.SentEmail = item.ManagerEmail; objEmailog.Subject = objEmailHelper.Subject; objEmailog.SentTo = item.ManagerUserId; objEmailLogRepository.SaveEmailLog(objEmailog); } catch (Exception) { throw; } } if (item.DeviceId != null && item.DeviceId.Trim() != "") { message = PushNotificationMessages.EmployeeIdle(item.LocationName, item.UserName); PushNotification.GCMAndroid(message, item.DeviceId, objEmailHelper); } } } } //} } catch (Exception ex) { Exception_B.Exception_B.exceptionHandel_Runtime(ex, " public dynamic EmployeeIdleStatus(string id)", "Exception while fetching employee idle status", locationId); } return(result); }
/// <summary>Save DAR for QRC Type /// <CreatedFor>For Insert QRC Type</CreatedFor> /// <CreatedBy>Bhusha n Dod</CreatedBy> /// <CreatedOn>Feb-13-2015</CreatedOn> /// </summary> /// <param name="obj"></param> /// <returns></returns> public ServiceDARModel SaveDARDetails(ServiceDARModel obj) { ObjUserRepository = new UserRepository(); objDARRepository = new DARRepository(); workorderEMSEntities _workorderEMSEntities = new workorderEMSEntities(); bool IsContinuesWOExist = false; string startTimeDAR = ""; string endTimeDAR = ""; string activityString = string.Empty; string activityStringForWONumber = string.Empty; try { if (obj.LocationId > 0 && obj.ServiceAuthKey != null) { var authuser = ObjUserRepository.GetSingleOrDefault(x => x.ServiceAuthKey == obj.ServiceAuthKey && x.IsDeleted == false); if (obj.ActivityDetails != null) { activityString = obj.ActivityDetails.Substring(obj.ActivityDetails.LastIndexOf(',') + 1); activityStringForWONumber = activityString.Substring(activityString.LastIndexOf('r') + 1); } //322 and 323 is used for continues pause and resume var IsPauseResume = obj.TaskType == Convert.ToInt64(ContinuesPauseResume.Pause) ? true : obj.TaskType == Convert.ToInt64(ContinuesPauseResume.Resume) ? true : false; if (authuser != null && authuser.UserId > 0 && obj.TaskType != 280) { //TO find Any continues WO complete before Notification Arrival var clientdt = DateTime.UtcNow.GetClientDateTimeNow(); //flag status for if user filter record in time span so to date is till midnight. bool isUTCDay = true; DateTime _fromDate = clientdt.Date; DateTime _toDate = clientdt.AddDays(1).Date; var todayDARDetails = _workorderEMSEntities.DARDetails.Where(x => x.UserId == authuser.UserId && x.LocationId == obj.LocationId && x.IsDeleted == false && x.CreatedOn >= _fromDate && (x.TaskType == 320 || x.TaskType == 321) && x.CreatedOn <= _toDate).ToList(); foreach (var item in todayDARDetails) { var darActivity = item.ActivityDetails; var stringCon = darActivity.Substring(darActivity.LastIndexOf(',') + 1); var stringCon1 = stringCon.Substring(stringCon.LastIndexOf('r') + 1); if (activityStringForWONumber == stringCon1) { IsContinuesWOExist = true; startTimeDAR = item.StartTime.ToString(); endTimeDAR = item.EndTime.ToString(); } } if (IsContinuesWOExist == true && IsPauseResume == false) { if (startTimeDAR != "" && endTimeDAR == "") { obj.Response = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture); obj.ResponseMessage = CommonMessage.AlreadyContinuesWOStart(activityStringForWONumber); } else if (startTimeDAR == "" && endTimeDAR != "") { obj.Response = Convert.ToInt32(ServiceResponse.NoRecord, CultureInfo.CurrentCulture); obj.ResponseMessage = CommonMessage.AlreadyContinuesWOComplete(activityStringForWONumber); } } else { //obj.ActivityDetails = DarMessage.QrcVehicleCleaning(obj.UserName); var result = objDARRepository.SaveDARDetails(obj); if (result != null && result > 0) { obj.Response = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture); obj.DARId = result; obj.ResponseMessage = CommonMessage.SaveSuccessMessage(); } else { obj.Response = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture); obj.DARId = result; obj.ResponseMessage = CommonMessage.WrongParameterMessage(); } } } else if (authuser != null && authuser.UserId > 0 && obj.TaskType == 280) { var objLoginLogRepository = new LoginLogRepository(); obj.ActivityDetails = DarMessage.ShiftEnd(obj.UserName); var result = objDARRepository.SaveDARDetails(obj); if (result != null && result > 0) { var loginlog = objLoginLogRepository.GetSingleOrDefault(x => x.UserID == authuser.UserId && x.LogId == obj.LogId && x.IsDeleted == false && x.IsActive == true); if (loginlog.LogId != 0) { loginlog.IsActive = false; loginlog.ShiftEnd = DateTime.Now; objLoginLogRepository.Update(loginlog); objLoginLogRepository.SaveChanges(); } var data = ObjUserRepository.GetSingleOrDefault(v => v.UserId == obj.UserId && v.IsDeleted == false); if (data != null) { data.ModifiedBy = obj.UserId; data.ModifiedDate = DateTime.UtcNow; data.IdleTimeLimit = Convert.ToDateTime("00:30"); ObjUserRepository.Update(data); obj.Response = Convert.ToInt32(ServiceResponse.SuccessResponse, CultureInfo.CurrentCulture); obj.DARId = result; obj.ResponseMessage = CommonMessage.SaveSuccessMessage(); } } else { obj.Response = Convert.ToInt32(ServiceResponse.ExeptionResponse, CultureInfo.CurrentCulture); obj.DARId = result; obj.ResponseMessage = CommonMessage.WrongParameterMessage(); } } else { obj.Response = Convert.ToInt32(ServiceResponse.InvalidSessionResponse, CultureInfo.CurrentCulture); obj.ResponseMessage = CommonMessage.InvalidUser(); } } else { obj.Response = Convert.ToInt32(ServiceResponse.FailedResponse, CultureInfo.CurrentCulture); obj.ResponseMessage = CommonMessage.WrongParameterMessage(); } } catch (Exception) { throw; } return(obj); }
public LoginLogService(LoginLogRepository repository) { _repository = repository; }