public bool focuseCurrentUser(IDictionary<KinectUser, PointQueue> dataPointMap) { bool result = false; foreach (KinectUser user in getSekeltonService().userInRange()) { if (default(JointType) != isGestureActive(user, dataPointMap[user])) { KinectDataPoint point = getSekeltonService().getDataPoint(JointType.ShoulderCenter, user); if (null != point) { // user stands outside of the upper limit -> move kinect up if (point.ScreenY < IConsts.KinectCenterUpperLimit) { userCenter = UserCenter.up; } // user stands outside of the lower limit -> move kinect dow else if (point.ScreenY > IConsts.KinectCenterLowerLimit) { userCenter = UserCenter.down; } // centeres the user based on inner borders if (userCenter == UserCenter.up && point.ScreenY < IConsts.KinectCenterUpperLimitInner) { // move kinect up if (sensor.ElevationAngle < sensor.MaxElevationAngle - 5) { System.Media.SystemSounds.Asterisk.Play(); int newAngle = Math.Min(sensor.MaxElevationAngle, sensor.ElevationAngle + 5); sensor.ElevationAngle = newAngle; result = true; } } else if (userCenter == UserCenter.down && point.ScreenY > IConsts.KinectCenterLowerLimitInner) { // move kinect down if (sensor.ElevationAngle > sensor.MinElevationAngle + 5) { System.Media.SystemSounds.Asterisk.Play(); int newAngle = Math.Max(sensor.MinElevationAngle, sensor.ElevationAngle - 5); sensor.ElevationAngle = newAngle; result = true; } } else { // user is centered userCenter = UserCenter.center; } } } else { // is user out of range -> user is concidered to be centered userCenter = UserCenter.center; } } return result; }
/// <summary> /// 处理用户登录 /// </summary> /// <param name="filterContext"></param> public void OnAuthorization(AuthorizationContext filterContext) { //System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); //watch.Start(); CurrentUserInfo model = null; //if (filterContext.HttpContext.Session["userinfo"] != null) //{ // UserCenter modelUserCenter = (UserCenter)filterContext.HttpContext.Session["userinfo"]; // if (modelUserCenter.UserID != null) // { // BUserBelong buserblong = new BUserBelong(); // UserBelong mUserBelong = buserblong.GetModelById(modelUserCenter.UserBelongID != null ? Convert.ToInt32(modelUserCenter.UserBelongID) : 0); // BPurview bpurview = new BPurview(); // Purview mPurview = bpurview.GetModelByPurviewType(mUserBelong.BelongType); // model = new CurrentUserInfo(); // model.UserCenter = modelUserCenter; // model.UserBelong = mUserBelong; // model.Purview = mPurview; // } //} //else if (filterContext.HttpContext.Request.Cookies["user"] != null) //{ // if (filterContext.HttpContext.Request.Cookies["user"].Values["userid"] != null) // { // BUserCenter busercenter = new BUserCenter(); // UserCenter modelUserCenter = busercenter.GetmodelById(Convert.ToInt32(filterContext.HttpContext.Request.Cookies["user"].Values["userid"])); // if (modelUserCenter.UserID != null) // { // BUserBelong buserblong = new BUserBelong(); // UserBelong mUserBelong = buserblong.GetModelById(modelUserCenter.UserBelongID != null ? Convert.ToInt32(modelUserCenter.UserBelongID) : 0); // BPurview bpurview = new BPurview(); // Purview mPurview = bpurview.GetModelByPurviewType(mUserBelong.BelongType); // model = new CurrentUserInfo(); // model.UserCenter = modelUserCenter; // model.UserBelong = mUserBelong; // model.Purview = mPurview; // } // } //} #region if (filterContext.HttpContext.Session["userinfo"] != null) { UserCenter modelUserCenter = (UserCenter)filterContext.HttpContext.Session["userinfo"]; if (modelUserCenter.UserID != 0) { object CurrentUserInfoobj = DataCache.GetCache(modelUserCenter.UserID.ToString()); if (CurrentUserInfoobj != null) { model = (CurrentUserInfo)CurrentUserInfoobj; } else { BUserBelong buserblong = new BUserBelong(); UserBelong mUserBelong = buserblong.GetModelById(modelUserCenter.UserBelongID != null ? Convert.ToInt32(modelUserCenter.UserBelongID) : 0); BPurview bpurview = new BPurview(); Purview mPurview = bpurview.GetModelByPurviewType(mUserBelong.BelongType); model = new CurrentUserInfo(); model.UserCenter = modelUserCenter; model.UserBelong = mUserBelong; model.Purview = mPurview; DataCache.SetCache(modelUserCenter.UserID.ToString(), model); } } } else if (filterContext.HttpContext.Request.Cookies["user"] != null) { if (filterContext.HttpContext.Request.Cookies["user"].Values["userid"] != null) { BUserCenter busercenter = new BUserCenter(); UserCenter modelUserCenter = busercenter.GetmodelById(Convert.ToInt32(filterContext.HttpContext.Request.Cookies["user"].Values["userid"])); filterContext.HttpContext.Session["userinfo"] = modelUserCenter; if (filterContext.HttpContext.Request.Cookies["user"].Values["userid"] != null) { object CurrentUserInfoobj = DataCache.GetCache(filterContext.HttpContext.Request.Cookies["user"].Values["userid"].ToString()); if (CurrentUserInfoobj != null) { model = (CurrentUserInfo)CurrentUserInfoobj; } else { BUserBelong buserblong = new BUserBelong(); UserBelong mUserBelong = buserblong.GetModelById(modelUserCenter.UserBelongID != null ? Convert.ToInt32(modelUserCenter.UserBelongID) : 0); BPurview bpurview = new BPurview(); Purview mPurview = bpurview.GetModelByPurviewType(mUserBelong.BelongType); model = new CurrentUserInfo(); model.UserCenter = modelUserCenter; model.UserBelong = mUserBelong; model.Purview = mPurview; DataCache.SetCache(modelUserCenter.UserID.ToString(), model); } } } } #endregion //watch.Stop(); ////获取当前实例测量得出的总运行时间(以毫秒为单位) //string time = watch.ElapsedMilliseconds.ToString(); string PurviewType; switch (PurviewName) { case "管理员": PurviewType = "1"; break; case "网格员": PurviewType = "2"; break; case "街办(乡镇)管理员": PurviewType = "3"; break; case "社区管理员": PurviewType = "4"; break; case "志愿者": PurviewType = "5"; break; case "农村管理员": PurviewType = "6"; break; case "农村市管理员": PurviewType = "7"; break; case "农村镇管理员": PurviewType = "8"; break; case "农村组管理员": PurviewType = "9"; break; case "农村志愿者": PurviewType = "10"; break; case "农村村管理员": PurviewType = "11"; break; case "督办": PurviewType = "12"; break; case "部门": PurviewType = "17"; break; case "登录": PurviewType = "登录"; break; default: PurviewType = "未传入权限"; break; } if (model == null) { filterContext.Result = new RedirectResult("/UserLogin/Index", false); return; } if (model != null) { if (PurviewType == "登录") { return; } if (model.Purview.PurviewType.Trim() != PurviewType || model.Purview.PurviewName.Trim() != PurviewName || model.UserBelong.BelongType.Trim() != PurviewType) { filterContext.Result = new RedirectResult("/UserLogin/Index", false); } } }