コード例 #1
0
 /// <summary>
 /// 会话结束触发事件
 /// </summary>
 /// <param name="sender">
 /// The sender.
 /// </param>
 /// <param name="e">
 /// The e.
 /// </param>
 protected void Session_End(object sender, EventArgs e)
 {
     //日志
     LogUtils.Log("会话销毁", "Session_End", Category.Info, Session.SessionID);
     var mongoDbHelper = new MongoDbStore<SystemUserSession>("SystemUserSessions");
     mongoDbHelper.Delete(systemUserSession => systemUserSession.SessionID == Session.SessionID);
 }
コード例 #2
0
 /// <summary>
 /// 获取资源描述
 /// </summary>
 /// <param name="resourceKey"></param>
 /// <returns></returns>
 public string GetResourceDescriptionByKey(string resourceKey)
 {
     var resources = new MongoDbStore<System_Resources>("Resources");
     var resource = resources.Single(r => r.Key.ToLower() == resourceKey);
     if (resource == null) return resourceKey;
     if (resource.ParentCode == null || resource.ParentCode == "0") return resource.Description == null ? resourceKey : resource.Description;
     return GetResourceDescriptionByCode(resource.ParentCode, resource.Description);
 }
コード例 #3
0
 /// <summary>
 /// The get system user session.
 /// </summary>
 /// <param name="sessionId">
 /// The session id.
 /// </param>
 /// <returns>
 /// The <see cref="SystemUserSession"/>.
 /// </returns>
 public static SystemUserSession GetSystemUserSession(string sessionId)
 {
     var mongoDbStore = new MongoDbStore<SystemUserSession>("SystemUserSessions");
     var systemUserSession = mongoDbStore.Single(item => item.SessionID == sessionId);
     if (systemUserSession != null)
     {
         return systemUserSession;
     }
     else
     {
         return null;
     }
 }
コード例 #4
0
        public ActionResult Exit()
        {
            try
            {
                var mongoDbStore = new MongoDbStore<SystemUserSession>("SystemUserSessions");
                mongoDbStore.Delete(item => item.SessionID == this.Session.SessionID);

                return this.Content("exit");
            }
            catch (Exception)
            {
                return this.Content("0");
            }
        }
コード例 #5
0
        /// <summary>
        /// 根据城市ID获取县区数据列表
        /// </summary>
        /// <param name="cityId">
        /// The city id.
        /// </param>
        /// <returns>
        /// 返回查询结果
        /// </returns>
        public static IList<County> GetCountiesByCityID(int cityId)
        {
            if (cityId < 1)
            {
                return new List<County>();
            }

            var mongoDbStore = new MongoDbStore<County>("Counties");
            var queries = mongoDbStore.List(c => c.CityID == cityId);
            if (queries == null)
            {
                return new List<County>();
            }

            return queries.ToList();
        }
コード例 #6
0
        public void UpdatePwd(string loginName, string userId, string password, string oldpwd)
        {
            try
            {
                if (!string.IsNullOrEmpty(loginName) && !string.IsNullOrEmpty(userId) && !string.IsNullOrEmpty(password) && !string.IsNullOrEmpty(oldpwd))
                {
                    this.systemUserService = new SystemUserService();
                    var userModel = this.systemUserService.QueryByLoginName(loginName);
                    string str = Encrypt.HashBySHA1(loginName + oldpwd);
                    if (userModel.LoginPassword != str)
                    {
                        Response.Write(1);

                    }
                    else
                    {
                        var loginPassword = Encrypt.HashBySHA1(loginName + password);
                        var id = int.Parse(userId);
                        LogUtils.Log("用户“" + loginName + "”修改密码", "UpdatePwd", Category.Info, Session.SessionID);
                        var recevieid = this.systemUserService.UpdatePassWord(id, loginPassword);
                        if (recevieid > 0)
                        {
                            Response.Write(2);
                            var mongoDbStore = new MongoDbStore<SystemUserSession>("SystemUserSessions");
                            mongoDbStore.Delete(item => item.SessionID == this.Session.SessionID);
                        }
                    }

                }
            }
            catch (Exception exception)
            {

                throw new ArgumentNullException(exception.Message, exception);
            }
        }
コード例 #7
0
        /// <summary>
        /// The query cities.
        /// </summary>
        /// <param name="provinceID">
        /// The Province ID.
        /// </param>
        /// <returns>
        /// The <see cref="JsonResult"/>.
        /// </returns>
        public static IList<City> QueryCities(int provinceID)
        {
            var mongoDbHelper = new MongoDbStore<City>("Cities");

            var list = mongoDbHelper.List(c => c.ProvinceID == provinceID);
            if (list == null)
            {
                return new List<City>();
            }

            return list.ToList();
        }
コード例 #8
0
 /// <summary>
 /// The get resource.
 /// </summary>
 public static IList<System_Resources> GetResource()
 {
     var mongoDbStore = new MongoDbStore<System_Resources>("Resources");
     var list = mongoDbStore.List(i => i.Key.Contains("picture"));
     return list;
 }
コード例 #9
0
        /// <summary>
        /// The refresh session.
        /// </summary>
        /// <param name="userSession">
        /// The user session.
        /// </param>
        public static void RefreshSystemUserSession(SystemUserSession userSession)
        {
            var mongoDbStore = new MongoDbStore<SystemUserSession>("SystemUserSessions");
            var systemUserSession = mongoDbStore.Single(item => item.SessionID == userSession.SessionID);
            if (systemUserSession != null)
            {
                mongoDbStore.Delete(s => s.SessionID == userSession.SessionID);
            }

            mongoDbStore.Insert(userSession);
        }
コード例 #10
0
        /// <summary>
        /// 处理会话状态
        /// </summary>
        /// <param name="filterContext">
        /// The filter context.
        /// </param>
        /// <param name="mongoDbStore">
        /// The mongo db store.
        /// </param>
        private void HandleSessionState(
            ActionExecutingContext filterContext,
            MongoDbStore<SystemUserSession> mongoDbStore)
        {
            var timeSpan = DateTime.Now.Subtract(this.systemUserSession.LastVisitTime);

            if (timeSpan.TotalMinutes > 30)
            {
                mongoDbStore.Delete(item => item.SessionID == this.Session.SessionID);
                this.HandleSessionLost(filterContext);
            }

            this.systemUserSession.LastVisitTime = DateTime.Now;
            MongoDBHelper.RefreshSystemUserSession(this.systemUserSession);
        }
コード例 #11
0
        /// <summary>
        /// The query provinces.
        /// </summary>
        /// <returns>
        /// The <see cref="JsonResult"/>.
        /// </returns>
        public static IList<Province> QueryProvinces()
        {
            var mongoDbHelper = new MongoDbStore<Province>("Provinces");
            var list = mongoDbHelper.List(p => p.ID != 0);

            return list == null ? new List<Province>() : list.ToList();
        }
コード例 #12
0
        /// <summary>
        /// The query counties.
        /// </summary>
        /// <param name="cityID">
        /// The city id.
        /// </param>
        /// <returns>
        /// The <see cref="JsonResult"/>.
        /// </returns>
        public JsonResult QueryCounties(string cityID)
        {
            var mongoDbHelper = new MongoDbStore<County>("Counties");

            int pageCount;
            var list = mongoDbHelper.List(1, 2976, county => county.ID != 0, out pageCount);
            if (list == null)
            {
                return this.Json(null);
            }

            var result = list.Where(item => item.CityID == Convert.ToInt32(cityID));
            return this.Json(result, JsonRequestBehavior.AllowGet);
        }
コード例 #13
0
        /// <summary>
        /// The validate right.
        /// </summary>
        /// <param name="resourceKey">
        /// The resource key.
        /// </param>
        /// <param name="permissions">
        /// The permissions.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool ValidateRight(string resourceKey, string permissions)
        {
            if (string.IsNullOrWhiteSpace(permissions) || string.IsNullOrWhiteSpace(resourceKey))
            {
                return false;
            }

            try
            {
                var resources = new MongoDbStore<System_Resources>("Resources");
                var list = resources.List(i => i.ID > 0);
                var resource = list.FirstOrDefault(item => item.Key == resourceKey);

                if (resource == null || resource.Code == null)
                {
                    return true;
                }

                return resource.Position <= permissions.Length && permissions.Substring(resource.Position, 1).Equals("1");
            }
            catch (Exception exception)
            {
                LogUtils.SystemTrace(
                    string.Format("判断权限出错了,ResourceKey = {0},错误信息:{1}", resourceKey, exception.Message),
                    "ValidateRight",
                    Category.Fatal,
                    "",
                    10,
                    "判断权限");
                throw;
            }
        }
コード例 #14
0
        /// <summary>
        ///     获取或设置省/市/区县编号.
        /// </summary>
        public string CountyName(string splite)
        {
            if (this.CountyID < 1)
            {
                return null;
            }

            var countyList = new MongoDbStore<County>("Counties");
            var county = countyList.Single(item => item.ID == this.CountyID);

            if (county == null)
            {
                return null;
            }

            var cityList = new MongoDbStore<City>("Cities");
            var city = cityList.Single(item => item.ID == county.CityID);

            if (city == null)
            {
                return null;
            }

            var provinceList = new MongoDbStore<Province>("Provinces");
            var provice = provinceList.Single(item => item.ID == city.ProvinceID);

            if (provice == null) return null;

            return provice.Name + splite + city.Name + splite + county.Name;
        }
コード例 #15
0
        /// <summary>
        /// The generate limited buy area.
        /// </summary>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        private string GenerateLimitedBuyArea()
        {
            int pageCount;

            var mongoDbHelperForProvince = new MongoDbStore<Province>("Provinces");
            var mongoDbHelperForCity = new MongoDbStore<City>("Cities");
            var mongoDbHelperForCounty = new MongoDbStore<County>("Counties");

            var provinces = mongoDbHelperForProvince.List(1, 34, province => province.ID != 0, out pageCount);
            var cities = mongoDbHelperForCity.List(1, 346, city => city.ID != 0, out pageCount);
            var counties = mongoDbHelperForCounty.List(1, 2976, county => county.ID != 0, out pageCount);

            var province1 = new List<string> { "北京", "上海", "天津", "重庆", "河北" };
            var province2 = new List<string> { "山西", "河南", "辽宁", "吉林", "黑龙江" };
            var province3 = new List<string> { "内蒙古", "江苏", "山东", "安徽", "浙江" };
            var province4 = new List<string> { "福建", "湖北", "湖南", "广东", "广西" };
            var province5 = new List<string> { "江西", "四川", "海南", "贵州", "云南" };
            var province6 = new List<string> { "西藏", "陕西", "甘肃", "青海", "宁夏" };
            var province7 = new List<string> { "新疆", "台湾", "香港", "澳门" };

            var stringBuilder = new StringBuilder();

            stringBuilder.Append("<div class='smc'>");

            #region Generate Province One Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province1[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        if (cityList.Count == 1)
                        {
                            var countyList = counties.Where(item => item.CityID == cityList[0].ID);

                            stringBuilder.Append("<div class='city'><ul>");
                            foreach (var county in countyList)
                            {
                                stringBuilder.Append(string.Format("<li title='{0}'>", county.Name));
                                stringBuilder.Append(
                                    string.Format(
                                        "<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}",
                                        county.ID,
                                        county.Name));
                                stringBuilder.Append(string.Format("</li>"));
                            }

                            stringBuilder.Append("</ul></div>");
                        }
                        else
                        {
                            stringBuilder.Append("<div class='city'><ul>");
                            foreach (var city in cityList)
                            {
                                stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                                stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                                stringBuilder.Append(string.Format("</li>"));
                            }

                            stringBuilder.Append("</ul></div>");
                        }
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Two Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province2[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Three Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province3[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Four Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province4[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Five Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province5[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Six Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 5; i++)
            {
                var provinceName = province6[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.AppendLine();

            #region Generate Province Seven Html

            stringBuilder.Append("<div class='item'>");

            for (var i = 0; i < 4; i++)
            {
                var provinceName = province7[i];
                if (string.IsNullOrEmpty(provinceName))
                {
                    continue;
                }

                stringBuilder.Append(
                    i < 2
                        ? "<div class='i-item' data-widget='area'>"
                        : "<div class='i-item right' data-widget='area'>");

                var province = provinces.Find(item => item.Name == provinceName);
                if (province != null)
                {
                    stringBuilder.Append(string.Format("<div class='province' title='{0}'>", provinceName));
                    stringBuilder.Append(string.Format("<div data-widget='area-check' data-id='{0}' class='input selected'>", province.ID));
                    stringBuilder.Append("<span>√</span>");
                    stringBuilder.Append("</div>");
                    stringBuilder.Append(string.Format("{0} (<span class='red' data-widget='area-num'>0</span>)<em></em>", provinceName));
                    stringBuilder.Append("</div>");

                    var cityList = cities.Where(item => item.ProvinceID == province.ID).ToList();
                    if (cityList.Count > 0)
                    {
                        stringBuilder.Append("<div class='city'><ul>");
                        foreach (var city in cityList)
                        {
                            stringBuilder.Append(string.Format("<li title='{0}'>", city.Name));
                            stringBuilder.Append(string.Format("<input checked='checked' data-widget='area-list' autocomplete='off' data-id='{0}' type='checkbox'>{1}", city.ID, city.Name));
                            stringBuilder.Append(string.Format("</li>"));
                        }

                        stringBuilder.Append("</ul></div>");
                    }
                }

                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");

            #endregion

            stringBuilder.Append("</div>");

            return stringBuilder.ToString();
        }
コード例 #16
0
        /// <summary>
        /// The refresh counties.
        /// </summary>
        public static void RefreshCounties()
        {
            var mongoDbStore = new MongoDbStore<County>("Counties");
            mongoDbStore.Delete(item => item.ID != 0);

            var systemHomeService = new SystemHomeService();
            var counties = systemHomeService.QueryCounties();
            foreach (var county in counties)
            {
                mongoDbStore.Insert(county);
            }
        }
コード例 #17
0
        /// <summary>
        /// Load provinces to MongoDb
        /// </summary>
        private static void LoadProvinces()
        {
            var mongoDbStore = new MongoDbStore<Province>("Provinces");
            mongoDbStore.Delete(item => item.ID != 0);

            var systemHomeService = new SystemHomeService();
            var provinces = systemHomeService.QueryProvinces();

            foreach (var province in provinces)
            {
                mongoDbStore.Insert(province);
            }
        }
コード例 #18
0
        /// <summary>
        /// The refresh resource.
        /// </summary>
        public static void RefreshResource()
        {
            var mongoDbStore = new MongoDbStore<System_Resources>("Resources");
            mongoDbStore.Delete(item => item.ID != 0);

            var systemResourcesService = new SystemResourcesService();
            var resources = systemResourcesService.QueryAll();

            foreach (var resource in resources)
            {
                mongoDbStore.Insert(resource);
            }
        }
コード例 #19
0
        /// <summary>
        /// Load cities to MongoDb
        /// </summary>
        private static void LoadCities()
        {
            var mongoDbStore = new MongoDbStore<City>("Cities");
            mongoDbStore.Delete(item => item.ID != 0);

            var systemHomeService = new SystemHomeService();
            var cities = systemHomeService.QueryCities();

            foreach (var city in cities)
            {
                mongoDbStore.Insert(city);
            }
        }
コード例 #20
0
        /// <summary>
        /// The on action executing.
        /// </summary>
        /// <param name="filterContext">
        /// The filter context.
        /// </param>
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string resourceKey = string.Empty;
            string resourceDescription = string.Empty;
            var mongoDbStore = new MongoDbStore<SystemUserSession>("SystemUserSessions");
            systemUserSession = mongoDbStore.Single(item => item.SessionID == Session.SessionID);

            if (systemUserSession == null)
            {
                HandleSessionLost(filterContext);
            }
            else
            {
                // todo: 会话失效判断
                //this.HandleSessionState(filterContext, mongoDbStore);

                var systemRightService = new SystemRightsService();
                resourceKey = this.GetResourceKey(filterContext);
                resourceDescription = systemRightService.GetResourceDescriptionByKey(resourceKey);
                if (!systemRightService.ValidateRight(resourceKey, this.systemUserSession.Permissions))
                {
                    if (!this.ValidateAjaxRequest(filterContext))
                    {
                        filterContext.Result =
                            this.Content("<script type='text/javascript'>alert('对不起,您没有此操作权限!');</script>");
                    }
                    else
                    {
                        Response.StatusCode = 610;
                        filterContext.Result = this.Json(new AjaxResponse(-403, "无操作权限"), JsonRequestBehavior.AllowGet);
                    }

                    LogUtils.Log(
                        "无操作权限" + resourceDescription,
                        "OnActionExecuting",
                        Category.Info,
                        systemUserSession.SessionID,
                        systemUserSession.SystemUserID,
                        "Enter");
                }
            }

            if (systemUserSession == null)
            {
                LogUtils.Log("未登录", "OnActionExecuting");
            }
            else
            {
                LogUtils.Log(
                    "用户“" + systemUserSession.Name + "”,正在操作:" + resourceDescription,
                    "OnActionExecuting",
                    Category.Info,
                    systemUserSession.SessionID,
                    systemUserSession.SystemUserID,
                    "Enter");
            }

            base.OnActionExecuting(filterContext);
        }