public RespondWebViewData <RespondOnlineSigninUserViewModel> GetOnlineSigninUserByUserID_g(RequestOnlineSigninUserViewModel request)
 {
     return(MemcacheHelper.Get(() =>
     {
         var parameter = new OnlineSigninUserParameter
         {
             SGuid = request.SGuid,
             UserIP = request.AddressIP
         };
         var dataModel = this.mSiginUserDataAccess.GetOnlineSigninUserByUserID_g(parameter);
         if (dataModel == null)
         {
             return new RespondWebViewData <RespondOnlineSigninUserViewModel>(WebViewErrorCode.LoginRequired);
         }
         return new RespondWebViewData <RespondOnlineSigninUserViewModel>
         {
             rows = new RespondOnlineSigninUserViewModel
             {
                 UserID = dataModel.userid,
                 LoginName = dataModel.username,
                 SGuid = dataModel.sguid,
                 ExpTime = dataModel.exptime,
                 UserIP = dataModel.userip
             }
         };
     }, string.Format(preCacheKey, "GetOnlineSigninUserByUserID_g"),
                               DateTime.Now.AddMinutes(WebConfigHelper.MemCachedExpTime()),
                               false,
                               request.SGuid,
                               request.AddressIP));
 }
예제 #2
0
 public SigninUserDataModel FindSininUserDataModelByUserID(OnlineSigninUserParameter parameter)
 {
     this.ExecuteSQL    = "SELECT * FROM sysuser WHERE UserID=@UserID";
     this.DataParameter = new IDbDataParameter[]
     {
         new SqlParameter("@UserID", parameter.UserID)
     };
     return(this.ExecuteReadSqlToSigninUserDataModel());
 }
예제 #3
0
        public OnlineSigninUserDataModel GetOnlineSigninUserByUserID_g(OnlineSigninUserParameter parameter)
        {
            var nowDate = DateTime.Now;

            this.ExecuteSQL    = "SELECT * FROM [online] WHERE sguid=@sguid AND userip=@userip AND overtime<@overtime AND status=0";
            this.DataParameter = new IDbDataParameter[]
            {
                new SqlParameter("@sguid", parameter.SGuid),
                new SqlParameter("@userip", parameter.UserIP),
                new SqlParameter("@overtime", new DateTime(nowDate.Year, nowDate.Month, nowDate.Day).AddDays(1))
            };
            return(this.ExecuteReadSqlToOnlineSigninUserDataModel());
        }
        public RespondWebViewData <RespondSigninUserViewModel> FindSininUserDataModelByUserID(RequestOnlineSigninUserViewModel request)
        {
            var parameter = new OnlineSigninUserParameter
            {
                UserID = request.UserID
            };
            var dataModel = this.mSiginUserDataAccess.FindSininUserDataModelByUserID(parameter);

            if (dataModel == null)
            {
                return(new RespondWebViewData <RespondSigninUserViewModel>(WebViewErrorCode.NotExistUserInfo));
            }
            var companyInfoRequest = new RequestCompanyInfoViewModel
            {
                CompanyID = dataModel.comid
            };
            var companyInfo      = this.mCompanyInfoViewService.GetCompanyInfoViewModel(companyInfoRequest);
            var connectionConfig = new DbConnectionConfig
            {
                ConnectTimeout = companyInfo.ConnectTimeout,
                Database       = companyInfo.Database,
                Password       = companyInfo.Password,
                Server         = companyInfo.Server,
                UserID         = companyInfo.UserID
            };

            FormsAuthenticationTicketManage.RenewTicketIfOld(request.SGuid);
            var respond = new RespondWebViewData <RespondSigninUserViewModel>
            {
                rows = new RespondSigninUserViewModel
                {
                    CurrentUser = new SigninUser
                    {
                        CompanySerialNum = dataModel.comid,
                        UserID_g         = request.SGuid,
                        UserID           = dataModel.userid,
                        UserName         = dataModel.username,
                        AddressIP        = UserIPAddressTool.GetRealUserIPAddress(),
                        ConnectionConfig = connectionConfig,
                        IsManager        = dataModel.ismanager,
                        IsSystem         = dataModel.issystem
                    }
                }
            };

            HttpContext.Current.Items.Add(BeforeCompileConstDefined.HttpContext_Login_User, respond.rows.CurrentUser);
            return(respond);
        }
예제 #5
0
 public bool SaveLoginUserToOnline(OnlineSigninUserParameter parameter)
 {
     this.ExecuteSQL    = "INSERT INTO dbo.Online(userid, username, userip, browser, logintime, overtime, exptime, status, sguid) VALUES (@userid, @username, @userip, @browser, @logintime, @overtime, @exptime, 0, @sguid)";
     this.DataParameter = new IDbDataParameter[]
     {
         new SqlParameter("@userid", parameter.UserID),
         new SqlParameter("@username", parameter.LoginName),
         new SqlParameter("@userip", parameter.UserIP),
         new SqlParameter("@browser", parameter.Browser),
         new SqlParameter("@logintime", parameter.LoginTime),
         new SqlParameter("@overtime", parameter.OverTime),
         new SqlParameter("@exptime", parameter.ExpTime),
         new SqlParameter("@sguid", parameter.SGuid)
     };
     return(this.ExecuteNonQuery() > 0);
 }
        /// <summary>
        /// 将登陆用户保存至在线列表内
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public bool SaveLoginUserToOnline(RequestSigninUserViewModel request)
        {
            var context    = HttpContext.Current;
            var now        = DateTime.Now;
            var expTime    = now.ToShortDateString().ToDateTime().AddDays(1).AddSeconds(-1);//当日23:59:59
            var _parameter = new OnlineSigninUserParameter
            {
                UserID    = request.UserID,
                Browser   = context.Request.Browser.Browser,
                ExpTime   = expTime,
                LoginName = request.UserName,
                LoginTime = now,
                OverTime  = expTime,
                SGuid     = request.UserID_g,
                UserIP    = UserIPAddressTool.GetRealUserIPAddress()
            };

            return(this.mSiginUserDataAccess.SaveLoginUserToOnline(_parameter));
        }