예제 #1
0
        public PageInfo <Sys_Group> Search(PageInfo <Sys_Group> pageInfoSearch)
        {
            var sys_Group = pageInfoSearch.DataList[0];
            var pageIndex = CUtils.ConvertToInt32(CUtils.StrTrim(pageInfoSearch.PageIndex));
            var pageSize  = CUtils.ConvertToInt32(CUtils.StrTrim(pageInfoSearch.PageSize));
            var comm      = this.GetCommand("Sp_Sys_Group_Search");

            comm.AddParameter <string>(this.Factory, "groupCode", CUtils.StrTrim(sys_Group.GroupCode));
            comm.AddParameter <string>(this.Factory, "groupName", CUtils.StrTrim(sys_Group.GroupName));
            comm.AddParameter <string>(this.Factory, "description", CUtils.StrTrim(sys_Group.Description));
            comm.AddParameter <string>(this.Factory, "flagActive", CUtils.StrTrim(sys_Group.FlagActive));
            comm.AddParameter <int>(this.Factory, "startIndex", pageIndex);
            comm.AddParameter <int>(this.Factory, "count", pageSize);

            var totalItemsParam = comm.AddParameter(this.Factory, "totalItems", DbType.Int32, null);

            totalItemsParam.Direction = ParameterDirection.Output;

            var table = this.GetTable(comm);

            table.TableName = TableName.Sys_Group;

            var itemCount = CUtils.ConvertToInt32(CUtils.StrTrim(totalItemsParam.Value));
            var pageCount = (itemCount % pageSize == 0) ? itemCount / pageSize : itemCount / pageSize + 1;

            var pageInfo = new PageInfo <Sys_Group>(0, 0)
            {
                DataList = new List <Sys_Group>()
            };
            var list = EntityBase.ParseListFromTable <Sys_Group>(table);

            //if (list.Any())
            if (list != null && list.Count > 0)
            {
                pageInfo.DataList.AddRange(list);

                pageInfo.ItemCount = itemCount;
                pageInfo.PageSize  = pageInfoSearch.PageSize;
                pageInfo.PageIndex = pageInfoSearch.PageIndex;
                pageInfo.PageCount = pageCount;
            }

            return(pageInfo);
        }
예제 #2
0
        protected virtual void Init()
        {
            var bUserStateNotNull = false;

            if (Session.UserState == null)
            {
                if (!SecurityHelper.TryLoginFromProviders(Session, Cache, HttpContext))
                {
                    bUserStateNotNull = false;
                    FormsAuthentication.SignOut();

                    string action = this.RouteData.Values["action"].ToString();

                    if (!action.Equals("Login", StringComparison.InvariantCultureIgnoreCase))
                    {
                        var rawUrl    = Request.RawUrl;
                        var culture   = CUtils.StrValue(RouteData.Values["Culture"]);
                        var isCulture = false;
                        if (!CUtils.IsNullOrEmpty(culture))
                        {
                            var cList = Client.Core.Configuration.SiteConfiguration.Current.AcceptedCultures;
                            foreach (var c in cList)
                            {
                                if (c.TwoLetterISOLanguageName.Equals(culture, StringComparison.InvariantCultureIgnoreCase))
                                {
                                    isCulture = true;
                                    culture   = c.TwoLetterISOLanguageName;
                                    System.Web.HttpContext.Current.Session["Culture"] = culture;
                                    break;
                                }
                            }
                        }
                        if (!isCulture)
                        {
                            culture = SiteConfiguration.Current.DefaultCultureName;
                            if (!CUtils.IsNullOrEmpty(culture))
                            {
                                culture = culture.Substring(0, 2);
                            }
                            RouteData.Values["Culture"] = culture;
                            rawUrl = Url.ActionLocalized("Index", "Home", new { area = "Auth" });
                        }
                        var redirect = Url.ActionLocalized("Login", "Account", new { area = "Auth", returnUrl = rawUrl });
                        //redirect = Url.Action("Login", "Account", new { area = "Auth", returnUrl = Request.RawUrl });
                        Response.Redirect(redirect);
                    }
                }
                else
                {
                    bUserStateNotNull = true;
                }
            }
            else
            {
                bUserStateNotNull = true;
            }

            if (bUserStateNotNull)
            {
                var sysUser = Session.UserState.SysUser;

                if (sysUser != null)
                {
                    if (CUtils.IsNullOrEmpty(FullName))
                    {
                        if (!CUtils.IsNullOrEmpty(sysUser.FullName))
                        {
                            FullName = CUtils.StrTrim(sysUser.FullName);
                        }
                    }
                }
                ViewBag.Fullname = FullName;
            }

            if (PageSizeAdminConfig == 0)
            {
                var pageSizeAdminConfig = System.Configuration.ConfigurationManager.AppSettings["PageSizeAdminConfig"];
                if (!CUtils.IsNullOrEmpty(pageSizeAdminConfig))
                {
                    PageSizeAdminConfig = CUtils.ConvertToInt32(pageSizeAdminConfig);
                }
                else
                {
                    PageSizeAdminConfig = 10;
                }
            }
        }