/// <summary>
        /// 获取活动评论
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> GetComments(Guid id, string listPageParaJson)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null)
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }

            ViewBag.activityId = id;
            //获取一级评论
            var commentList = await _commonExtension.GetAll().OrderByDescending(x => x.CommentDataTime).Include(x => x.Activity).Include(x => x.User).Include(x => x.User.Avatar).Where(x => x.Activity.ID == id && x.ParentGrade == null).ToListAsync();

            var comments = new List <CommentVM>();

            foreach (var item in commentList)
            {
                var commentVM = new CommentVM(item);
                commentVM.CommentChildrens = await _commonExtension.GetAll().OrderBy(x => x.CommentDataTime).Include(x => x.Activity).Include(x => x.AcceptUser).Include(x => x.User).Include(x => x.User.Avatar).Where(x => x.ParentGrade == item.ID).ToListAsync();

                comments.Add(commentVM);
            }
            var commentPageList    = IQueryableExtensions.ToPaginatedList(comments.AsQueryable(), listPagePara.PageIndex, listPagePara.PageSize);
            var commentCollections = new List <CommentVM>();

            foreach (var commentTermPage in commentPageList)
            {
                commentCollections.Add(commentTermPage);
            }
            var pageGroup = PagenateGroupRepository.GetItem(commentPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/BusinessView/ActivityTermView/_GetComments.cshtml", commentCollections));
        }
        public async Task <IActionResult> List(string keywork, string probably, string listPageParaJson)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null)
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }
            var atCollection = new List <ActivityTerm>();

            if (!String.IsNullOrEmpty(keywork))
            {
                Expression <Func <ActivityTerm, bool> > condtion = x =>
                                                                   x.Name.Contains(keywork) ||
                                                                   x.User.Name.Contains(keywork) ||
                                                                   x.AnAssociation.Name.Contains(keywork) ||
                                                                   x.Address.Contains(keywork);
                atCollection = await _activityTermExtension.GetAll().Include(x => x.User).Include(x => x.AnAssociation).Include(x => x.Avatar).Where(condtion).Where(x => x.Status == ActivityStatus.未开始 && x.IsDisable).ToListAsync();

                if (probably == "1")
                {
                    atCollection = atCollection.Where(x => x.AnAssociation != null).ToList();
                }
                else if (probably == "2")
                {
                    atCollection = atCollection.Where(x => x.User != null && x.AnAssociation == null).ToList();
                }
            }
            else
            {
                atCollection = await _activityTermExtension.GetAll().Include(x => x.User).Include(x => x.AnAssociation).Include(x => x.Avatar).Where(x => x.Status == ActivityStatus.未开始 && x.IsDisable).ToListAsync();

                if (probably == "1")
                {
                    atCollection = atCollection.Where(x => x.AnAssociation != null).ToList();
                }
                else if (probably == "2")
                {
                    atCollection = atCollection.Where(x => x.User != null && x.AnAssociation == null).ToList();
                }
            }
            var activityTermPageList = IQueryableExtensions.ToPaginatedList(atCollection.AsQueryable(), listPagePara.PageIndex, 12);

            var activityCollections = new List <ActivityTermVM>();

            foreach (var activityTermPage in activityTermPageList)
            {
                activityCollections.Add(new ActivityTermVM(activityTermPage)
                {
                    EnteredNumber = (await _activityUserExtension.GetAll().Where(x => x.ActivityTermId == activityTermPage.ID).ToListAsync()).Count
                });
            }

            var pageGroup = PagenateGroupRepository.GetItem(activityTermPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/BusinessView/ActivityTermView/_List.cshtml", activityCollections));
        }
Beispiel #3
0
        public IActionResult Index()
        {
            //获取当前用户名
            GetCurrUserName();
            var pageSize  = 8;
            var pageIndex = 1;
            var counter   = 0;

            //获取所有的商品
            var commodityListVM             = new List <YZ_CommodityVM>();
            var commodities                 = this._commodity.GetAllIncluding(x => x.Category, x => x.AscriptionUser);
            var commodityCollectionPageList = commodities.ToPaginatedList(pageIndex, pageSize);

            if (commodities.Count() > 0)
            {
                foreach (var commodity in commodityCollectionPageList)
                {
                    var commodityImage  = _businessImage.FindBy(m => m.RelevanceObjectId == commodity.Id).FirstOrDefault(m => m.Type == ImageType.CommodityCover);
                    var commodityImages = new List <BusinessImage>();
                    commodityImages.Add(commodityImage);
                    var commodityVM = new YZ_CommodityVM(commodity);
                    commodityVM.Images      = commodityImages;
                    commodityVM.OrderNumber = (++counter).ToString();
                    commodityListVM.Add(commodityVM);
                }
                ViewBag.CommodityVMCollection = commodityListVM;
                // 提取当前页面关联的分页器实例
                var pageGroup = PagenateGroupRepository.GetItem <YZ_Commodity>(commodityCollectionPageList, 10, pageIndex);
                ViewBag.PageGroup = pageGroup;

                var listPageParameter = new ListPageParameter()
                {
                    PageIndex        = commodityCollectionPageList.PageIndex,
                    Keyword          = "",
                    PageSize         = commodityCollectionPageList.PageSize,
                    ObjectTypeId     = commodityListVM.FirstOrDefault().Id.ToString(),
                    ObjectAmount     = commodityCollectionPageList.TotalCount,
                    SortDesc         = "Default",
                    SortProperty     = "Name",
                    PageAmount       = 0,
                    SelectedObjectId = ""
                };
                ViewBag.PageParameter = listPageParameter;
            }
            else
            {
                commodityListVM = null;
            }
            return(View("../../Views/AdminCenter/CommodityManagement/Index", commodityListVM));
        }
        /// <summary>
        /// 根据关键词检索人员数据集合,返回给前端页面
        /// </summary>
        /// <param name="keywork"></param>
        /// <returns></returns>
        public async Task <IActionResult> List(string keywork, string listPageParaJson, string pageIndex)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null && listPageParaJson != "")
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }
            listPagePara.PageIndex = Convert.ToInt32(pageIndex);
            var boVMCollection = new List <ApplicationUserVM>();

            if (!String.IsNullOrEmpty(keywork) && keywork != "undefined")
            {
                Expression <Func <ApplicationUser, bool> > condtion = x =>//Contains(参数字符串是否包含于string对象中)
                                                                      x.Name.Contains(keywork) ||
                                                                      x.SchoolAddress.Contains(keywork) ||
                                                                      x.School.Contains(keywork);
                var userCollection = await _userExtension.GetAll().Include(x => x.Avatar).Where(condtion).OrderByDescending(x => x.RegisterTime).ToListAsync();

                foreach (var bo in userCollection)
                {
                    boVMCollection.Add(new ApplicationUserVM(bo));
                }
            }
            else
            {
                var userCollection = await _userExtension.GetAll().Include(x => x.Avatar).OrderByDescending(x => x.RegisterTime).ToListAsync();

                foreach (var bo in userCollection)
                {
                    boVMCollection.Add(new ApplicationUserVM(bo));
                }
            }

            var userCollectionPageList = IQueryableExtensions.ToPaginatedList(boVMCollection.AsQueryable <ApplicationUserVM>(), listPagePara.PageIndex, listPagePara.PageSize);

            var userCollections = new List <ApplicationUserVM>();

            foreach (var userCollection in userCollectionPageList)
            {
                userCollections.Add(userCollection);
            }
            var pageGroup = PagenateGroupRepository.GetItem <ApplicationUserVM>(userCollectionPageList, 3, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/ApplicationOrganization/ApplicationUser/_List.cshtml", userCollections));
        }
Beispiel #5
0
        public async Task <IActionResult> Index()
        {
            var anCollection = await _anAssociationExtension.GetAllIncludingAsyn(x => x.User);

            var anVmCollection = new List <AnAssociationVM>();

            foreach (var an in anCollection)
            {
                var anVM = new AnAssociationVM(an);
                anVmCollection.Add(anVM);
            }

            var pageSize          = 10;
            var pageIndex         = 1;
            var anAssociationList = anVmCollection.OrderBy(x => x.Name).FirstOrDefault();

            //处理分页

            var anAssociationCollectionPageList = IQueryableExtensions.ToPaginatedList(anVmCollection.AsQueryable <AnAssociationVM>(), pageIndex, pageSize);
            var anAssociationCollections        = new List <AnAssociationVM>();

            foreach (var anAssociationCollection in anAssociationCollectionPageList)
            {
                anAssociationCollections.Add(anAssociationCollection);
            }

            //提取当前分页关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem(anAssociationCollectionPageList, 5, pageIndex);

            ViewBag.PageGroup = pageGroup;

            var listPageParameter = new ListPageParameter()
            {
                PageIndex        = anAssociationCollectionPageList.PageIndex,
                Keyword          = "",
                PageSize         = anAssociationCollectionPageList.PageSize,
                ObjectTypeID     = "",
                ObjectAmount     = anAssociationCollectionPageList.TotalCount,
                SortDesc         = "Default",
                SortProperty     = "UserName",
                PageAmount       = 0,
                SelectedObjectID = ""
            };

            ViewBag.PageParameter = listPageParameter;
            return(View("~/Views/GroupOrganization/AnAssociation/Index.cshtml", anAssociationCollections));
        }
Beispiel #6
0
        public async Task <IActionResult> Index()
        {
            var atCollection = await _activityTermExtension.GetAll().OrderBy(x => x.Status).ThenByDescending(x => x.CreateDateTime).Include(x => x.User).ToListAsync();

            var atVmCollection = new List <ActivityTermVM>();

            foreach (var at in atCollection)
            {
                var atVM = new ActivityTermVM(at);
                atVmCollection.Add(atVM);
            }

            var pageSize                = 10;
            var pageIndex               = 1;
            var activityTermList        = atVmCollection.FirstOrDefault();
            var activityTermCollections = new List <ActivityTermVM>();
            //处理分页

            var activityTermCollectionPageList = IQueryableExtensions.ToPaginatedList(atVmCollection.AsQueryable <ActivityTermVM>(), pageIndex, pageSize);

            foreach (var activityTermCollection in activityTermCollectionPageList)
            {
                activityTermCollections.Add(activityTermCollection);
            }

            //提取当前分页关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem(activityTermCollectionPageList, 5, pageIndex);

            ViewBag.PageGroup = pageGroup;

            var listPageParameter = new ListPageParameter()
            {
                PageIndex        = activityTermCollectionPageList.PageIndex,
                Keyword          = "",
                PageSize         = activityTermCollectionPageList.PageSize,
                ObjectTypeID     = "",
                ObjectAmount     = activityTermCollectionPageList.TotalCount,
                SortDesc         = "Default",
                SortProperty     = "Name",
                PageAmount       = 0,
                SelectedObjectID = ""
            };

            ViewBag.PageParameter = listPageParameter;
            return(View("~/Views/GroupOrganization/ActivityTerm/Index.cshtml", activityTermCollections));
        }
Beispiel #7
0
        public async Task <IActionResult> OrderList(string selectNnm)
        {
            ViewBag.UserLogonInformation = GetUserName();
            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = "Order",    // 对应的归属类型ID
                PageIndex        = 1,          // 当前页码
                PageSize         = 4,          // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,          // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,          // 相关的对象的总数
                Keyword          = "",         // 当前的关键词
                SortProperty     = "SortCode", // 排序属性
                SortDesc         = "default",  // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",         // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,      // 当前是否为检索
            };

            listPagePara.PageIndex = selectNnm != null?Convert.ToInt32(selectNnm) : 1;

            var user = User.Claims.FirstOrDefault();

            if (user.Value == new Guid().ToString())
            {
                return(View("../../Views/Home/Logon"));
            }
            var shop = _ShopRepository.GetSingleBy(x => x.ShopForUser.Id == user.Value);
            //查询订单详细所关联的商品列表
            var orderItems     = _OrderItemRepository.FindBy(x => x.ShopName == shop.Name); //获取订单和订单对应的用户和商品
            var orVMCollection = new List <SK_WM_OrderItemVM>();                            //存放用户所有订单

            var OrderAll = orderItems.AsQueryable <SK_WM_OrderItem>();
            var OrderCollectionPageList = IQueryableExtensions.ToPaginatedList(OrderAll, listPagePara.PageIndex, listPagePara.PageSize);

            foreach (var order in OrderCollectionPageList)
            {
                var omVM = new SK_WM_OrderItemVM(order);
                orVMCollection.Add(omVM);
            }

            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_OrderItem>(OrderCollectionPageList, 3, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;

            return(View("../../Views/BusinessOrganization/BusinessBG/OrderList", orVMCollection));
        }
Beispiel #8
0
        public async Task <IActionResult> Index()
        {
            var boCollection = await _hobbyExtension.GetAll().Include(x => x.Avatar).OrderBy(x => x.SortCode).ToListAsync();

            var boVMCollection = new List <HobbyVM>();

            foreach (var bo in boCollection)
            {
                var boVM = new HobbyVM(bo);
                boVMCollection.Add(boVM);
            }
            var pageSize   = 10;
            var pageIndex  = 1;
            var personList = boVMCollection.OrderBy(x => x.Name).FirstOrDefault();
            // 处理分页
            var hobbyCollectionPageList = IQueryableExtensions.ToPaginatedList(boVMCollection.AsQueryable <HobbyVM>(), pageIndex, pageSize);
            var hobbyCollections        = new List <HobbyVM>();

            foreach (var hobbyCollection in hobbyCollectionPageList)
            {
                hobbyCollections.Add(hobbyCollection);
            }

            //提取当前分页关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem <HobbyVM>(hobbyCollectionPageList, 5, pageIndex);

            ViewBag.PageGroup = pageGroup;

            var listPageParameter = new ListPageParameter()
            {
                PageIndex        = hobbyCollectionPageList.PageIndex,
                Keyword          = "",
                PageSize         = hobbyCollectionPageList.PageSize,
                ObjectTypeID     = "",
                ObjectAmount     = hobbyCollectionPageList.TotalCount,
                SortDesc         = "Default",
                SortProperty     = "Name",
                PageAmount       = 0,
                SelectedObjectID = ""
            };

            ViewBag.PageParameter = listPageParameter;
            return(View("~/Views/ApplicationOrganization/Hobbys/Index.cshtml", hobbyCollections));
        }
Beispiel #9
0
        public async Task <IActionResult> Index()
        {
            var boCollection = await _PersonExtension.GetAllAsyn();

            var boVMCollection = new List <PersonVM>();

            foreach (var bo in boCollection)
            {
                var boVM = new PersonVM(bo);
                boVMCollection.Add(boVM);
            }
            var pageSize   = 10;
            var pageIndex  = 1;
            var personList = boVMCollection.OrderBy(x => x.Name).FirstOrDefault();
            // 处理分页
            var personCollectionPageList = IQueryableExtensions.ToPaginatedList(boVMCollection.AsQueryable <PersonVM>(), pageIndex, pageSize);
            var personCollections        = new List <PersonVM>();

            foreach (var personCollection in personCollectionPageList)
            {
                personCollections.Add(personCollection);
            }

            //提取当前分页关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem <PersonVM>(personCollectionPageList, 3, pageIndex);

            ViewBag.PageGroup = pageGroup;

            var listPageParameter = new ListPageParameter()
            {
                PageIndex        = personCollectionPageList.PageIndex,
                Keyword          = "",
                PageSize         = personCollectionPageList.PageSize,
                ObjectTypeID     = "",
                ObjectAmount     = personCollectionPageList.TotalCount,
                SortDesc         = "Default",
                SortProperty     = "UserName",
                PageAmount       = 0,
                SelectedObjectID = ""
            };

            ViewBag.PageParameter = listPageParameter;
            return(View("~/Views/BusinessOrganization/Person/Index.cshtml", personCollections));
        }
Beispiel #10
0
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null)
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }
            var anCollection = new List <AnAssociation>();

            if (!String.IsNullOrEmpty(keywork))
            {
                Expression <Func <AnAssociation, bool> > condtion = x =>
                                                                    x.Name.Contains(keywork) ||
                                                                    x.User.Name.Contains(keywork) ||
                                                                    x.SchoolAddress.Contains(keywork);
                anCollection = await _anAssociationExtension.GetAll().Include(x => x.User).Include(x => x.Avatar).Where(condtion).Where(x => x.IsDisable).ToListAsync();
            }
            else
            {
                anCollection = await _anAssociationExtension.GetAll().Include(x => x.User).Include(x => x.Avatar).Where(x => x.IsDisable).ToListAsync();
            }
            var activityTermPageList = IQueryableExtensions.ToPaginatedList(anCollection.AsQueryable(), listPagePara.PageIndex, 12);

            var anAssociationCollections = new List <AnAssociationVM>();

            foreach (var activityTermPage in activityTermPageList)
            {
                var anNum = await _anAssociationAndUserExtension.GetAll().Where(x => x.AnAssociationId == activityTermPage.ID).Select(x => x.AnAssociation).ToListAsync();

                anAssociationCollections.Add(new AnAssociationVM(activityTermPage)
                {
                    AnAssociationNum = anNum.Count()
                });
            }

            var pageGroup = PagenateGroupRepository.GetItem(activityTermPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/BusinessView/AnAssociationView/_List.cshtml", anAssociationCollections));
        }
Beispiel #11
0
        /// <summary>
        /// 根据关键词检索活动数据集合,返回给前端页面
        /// </summary>
        /// <param name="keywork"></param>
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara   = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            var atVMCollection = new List <ActivityTermVM>();

            if (!String.IsNullOrEmpty(keywork) && keywork != "undefined")
            {
                Expression <Func <ActivityTerm, bool> > condtion = x =>
                                                                   x.Name.Contains(keywork) ||
                                                                   x.Address.Contains(keywork);
                var activityTermCollection = await _activityTermExtension.GetAll().OrderBy(x => x.Status).ThenByDescending(x => x.CreateDateTime).Include(x => x.User).Where(condtion).ToListAsync();

                foreach (var at in activityTermCollection)
                {
                    atVMCollection.Add(new ActivityTermVM(at));
                }
            }
            else
            {
                var activityTermCollection = await _activityTermExtension.GetAll().OrderBy(x => x.Status).ThenByDescending(x => x.CreateDateTime).Include(x => x.User).ToListAsync();

                foreach (var at in activityTermCollection)
                {
                    atVMCollection.Add(new ActivityTermVM(at));
                }
            }
            var activityTermPageList = IQueryableExtensions.ToPaginatedList(atVMCollection.AsQueryable(), listPagePara.PageIndex, listPagePara.PageSize);

            var activityCollections = new List <ActivityTermVM>();

            foreach (var activityTermPage in activityTermPageList)
            {
                activityCollections.Add(activityTermPage);
            }

            var pageGroup = PagenateGroupRepository.GetItem(activityTermPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/GroupOrganization/ActivityTerm/_List.cshtml", activityCollections));
        }
Beispiel #12
0
        /// <summary>
        /// 根据关键词检索人员数据集合,返回给前端页面
        /// </summary>
        /// <param name="keywork"></param>
        /// <returns></returns>
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara   = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            var boVMCollection = new List <PersonVM>();

            if (!String.IsNullOrEmpty(keywork))
            {
                Expression <Func <Person, bool> > condtion = x =>//Contains(参数字符串是否包含于string对象中)
                                                             x.Name.Contains(keywork) ||
                                                             x.FixedTelephone.Contains(keywork);
                var personCollection = await _PersonExtension.FindByAsyn(condtion);

                foreach (var bo in personCollection)
                {
                    boVMCollection.Add(new PersonVM(bo));
                }
            }
            else
            {
                var personCollection = await _PersonExtension.GetAllAsyn();

                foreach (var bo in personCollection)
                {
                    boVMCollection.Add(new PersonVM(bo));
                }
            }

            var personCollectionPageList = IQueryableExtensions.ToPaginatedList(boVMCollection.AsQueryable <PersonVM>(), listPagePara.PageIndex, listPagePara.PageSize);

            var personCollections = new List <PersonVM>();

            foreach (var personCollection in personCollectionPageList)
            {
                personCollections.Add(personCollection);
            }
            var pageGroup = PagenateGroupRepository.GetItem <PersonVM>(personCollectionPageList, 3, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("../../Views/BusinessOrganization/Person/_List", personCollections));
        }
Beispiel #13
0
        /// <summary>
        /// 根据关键词检索活动数据集合,返回给前端页面
        /// </summary>
        /// <param name="keywork"></param>
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara   = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            var anVMCollection = new List <AnAssociationVM>();

            if (!String.IsNullOrEmpty(keywork) && keywork != "undefined")
            {
                Expression <Func <AnAssociation, bool> > condtion = x =>
                                                                    x.Name.Contains(keywork) ||
                                                                    x.SchoolAddress.Contains(keywork);
                var anAssociationCollection = await _anAssociationExtension.GetAll().Include(x => x.User).Where(condtion).ToListAsync();

                foreach (var an in anAssociationCollection)
                {
                    anVMCollection.Add(new AnAssociationVM(an));
                }
            }
            else
            {
                var anAssociationCollection = await _anAssociationExtension.GetAllIncludingAsyn(x => x.User);

                foreach (var an in anAssociationCollection)
                {
                    anVMCollection.Add(new AnAssociationVM(an));
                }
            }
            var anAssociationPageList = IQueryableExtensions.ToPaginatedList(anVMCollection.AsQueryable(), listPagePara.PageIndex, listPagePara.PageSize);

            var associationCollections = new List <AnAssociationVM>();

            foreach (var anAssociationPage in anAssociationPageList)
            {
                associationCollections.Add(anAssociationPage);
            }

            var pageGroup = PagenateGroupRepository.GetItem(anAssociationPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/GroupOrganization/AnAssociation/_List.cshtml", associationCollections));
        }
Beispiel #14
0
        /// <summary>
        /// 根据关键词检索爱好数据集合,返回给前端页面
        /// </summary>
        /// <param name="keywork"></param>
        /// <returns></returns>
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara   = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            var boVMCollection = new List <HobbyVM>();

            if (!String.IsNullOrEmpty(keywork))
            {
                Expression <Func <Hobby, bool> > condtion = x =>//Contains(参数字符串是否包含于string对象中)
                                                            x.Name.Contains(keywork) ||
                                                            x.Description.Contains(keywork);
                var hobbyCollection = await _hobbyExtension.GetAll().Include(x => x.Avatar).OrderBy(x => x.SortCode).Where(condtion).ToListAsync();

                foreach (var bo in hobbyCollection)
                {
                    boVMCollection.Add(new HobbyVM(bo));
                }
            }
            else
            {
                var hobbyCollection = await _hobbyExtension.GetAll().Include(x => x.Avatar).OrderBy(x => x.SortCode).ToListAsync();

                foreach (var bo in hobbyCollection)
                {
                    boVMCollection.Add(new HobbyVM(bo));
                }
            }

            var hobbyCollectionPageList = IQueryableExtensions.ToPaginatedList(boVMCollection.AsQueryable <HobbyVM>(), listPagePara.PageIndex, listPagePara.PageSize);

            var hobbyCollections = new List <HobbyVM>();

            foreach (var hoCollection in hobbyCollectionPageList)
            {
                hobbyCollections.Add(hoCollection);
            }
            var pageGroup = PagenateGroupRepository.GetItem <HobbyVM>(hobbyCollectionPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/ApplicationOrganization/Hobbys/_List.cshtml", hobbyCollections));
        }
        public async Task <IActionResult> List(string keywork, string listPageParaJson)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null && listPageParaJson != "")
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }
            var heVMCollection           = new List <HomeExhibitionVM>();
            var homeExhibitionCollection = new List <HomeExhibition>();

            if (!String.IsNullOrEmpty(keywork))
            {
                Expression <Func <HomeExhibition, bool> > condtion = x =>
                                                                     x.Name.Contains(keywork) ||
                                                                     x.Activity.Name.Contains(keywork) ||
                                                                     x.Activity.User.Name.Contains(keywork);
                homeExhibitionCollection = await _homeExhibitionRepository.GetAll().Include(x => x.Activity).Include(x => x.Activity.User).
                                           Include(x => x.Avatar).Where(condtion).OrderBy(x => x.CreateDateTime).ToListAsync();
            }
            else
            {
                homeExhibitionCollection = await _homeExhibitionRepository.GetAll().Include(x => x.Activity).Include(x => x.Activity.User).
                                           Include(x => x.Avatar).OrderBy(x => x.CreateDateTime).ToListAsync();
            }

            var homeExhibitionPageList = IQueryableExtensions.ToPaginatedList(homeExhibitionCollection.AsQueryable(), listPagePara.PageIndex, listPagePara.PageSize);

            foreach (var item in homeExhibitionPageList)
            {
                heVMCollection.Add(new HomeExhibitionVM(item));
            }
            var pageGroup = PagenateGroupRepository.GetItem(homeExhibitionPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/GroupOrganization/HomeExhibition/_List.cshtml", heVMCollection));
        }
Beispiel #16
0
        /// <summary>
        /// 社团活动
        /// </summary>
        /// <param name="keywork"></param>
        /// <param name="listPageParaJson"></param>
        /// <returns></returns>
        public async Task <IActionResult> ActivityList(Guid id, string listPageParaJson)
        {
            var listPagePara = new ListPageParameter();

            if (listPageParaJson != null)
            {
                listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);
            }
            var atVMCollection         = new List <ActivityTermVM>();
            var activityTermCollection = await _activityTermExtension.GetAll().Include(x => x.User).Include(x => x.AnAssociation).Include(x => x.Avatar).Where(x => x.AnAssociation.ID == id).ToListAsync();

            var activityTermPageList = IQueryableExtensions.ToPaginatedList(activityTermCollection.AsQueryable(), listPagePara.PageIndex, 10);
            var activityCollections  = new List <ActivityTermVM>();

            foreach (var activityTermPage in activityTermPageList)
            {
                activityCollections.Add(new ActivityTermVM(activityTermPage));
            }
            var pageGroup = PagenateGroupRepository.GetItem(activityTermPageList, 5, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            return(View("~/Views/GroupOrganization/AnAssociation/ActivityList.cshtml", activityCollections));
        }
        /// <summary>
        /// 用于翻页
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="objectTypeID"></param>
        /// <returns></returns>
        public async Task <IActionResult> IllegalShopPageList(int pageIndex, string objectTypeID)
        {
            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = objectTypeID, // 对应的归属类型ID
                PageIndex        = pageIndex,    // 当前页码
                PageSize         = 8,            // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,            // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,            // 相关的对象的总数
                Keyword          = "",           // 当前的关键词
                SortProperty     = "SortCode",   // 排序属性
                SortDesc         = "default",    // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",           // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,        // 当前是否为检索
            };

            var typeID  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeID))
            {
                typeID = listPagePara.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            var username = User.Identity.Name;
            var user     = await _UserManager.FindByNameAsync(username);

            if (user == null)
            {
                return(View("../../Views/Home/Logon"));
            }
            var shCollection = await _ShopRepository.PaginateAsyn(listPagePara.PageIndex, listPagePara.PageSize, x => x.SortCode, null, x => x.ShopAvatar, x => x.ShopBanner, x => x.ShopForExecuteIllegal, x => x.ShopForUser);

            var shVMCollection = new List <SK_WM_ShopVM>();

            foreach (var sh in shCollection)
            {
                var shVM   = new SK_WM_ShopVM(sh);
                var images = _ImageRepository.GetAll().Where(x => x.RelevanceObjectID == sh.ID);
                foreach (var img in images)
                {
                    if (img.Description == "shopAvatar")
                    {
                        shVM.ShopAvatarPath = img.UploadPath;
                    }
                    if (img.Description == "shopBanner")
                    {
                        shVM.ShopBannerPath = img.UploadPath;
                    }
                }
                shVMCollection.Add(shVM);
            }
            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_Shop>(shCollection, 10, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            ViewBag.GoodsType     = "Admin";
            return(PartialView("../../Views/Shop/ShopManager/_List", shVMCollection));
        }
Beispiel #18
0
        public async Task <IActionResult> List(int pageIndex)
        {
            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = "Goods",    // 对应的归属类型ID
                PageIndex        = pageIndex,  // 当前页码
                PageSize         = 8,          // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,          // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,          // 相关的对象的总数
                Keyword          = "",         // 当前的关键词
                SortProperty     = "SortCode", // 排序属性
                SortDesc         = "default",  // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",         // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,      // 当前是否为检索
            };

            var typeID  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeID))
            {
                typeID = listPagePara.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            var username = User.Identity.Name;
            var user     = await _UserManager.FindByNameAsync(username);

            if (user == null)
            {
                return(View("../../Views/Home/Logon"));
            }
            //var pageIndex = 1;
            //var pageSize = 50;
            //var boCollection = new List<SK_WM_Goods>();

            var boCollection = await _BoRepository.PaginateAsyn(listPagePara.PageIndex, listPagePara.PageSize, x => x.SortCode, null, x => x.SK_WM_GoodsCategory);


            var shop = await _ShopRepository.FindByAsyn(x => x.BelongToUserID == user.Id);

            var boVMCollection = new List <SK_WM_GoodsVM>();

            var orderNumber = 0;



            foreach (var bo in boCollection)
            {
                //if (bo.BelongToShopID == shop.FirstOrDefault().ID.ToString())
                //{
                var boVM   = new SK_WM_GoodsVM(bo);
                var images = _ImageRepository.GetAll().OrderByDescending(x => x.SortCode).Where(y => y.RelevanceObjectID == bo.ID);
                if (images != null)
                {
                    foreach (var img in images)
                    {
                        if (img.IsForTitle == true)
                        {
                            boVM.AvatarPath = img.UploadPath;
                        }
                    }
                    //}
                    boVM.OrderNumber = (++orderNumber).ToString();
                    boVMCollection.Add(boVM);
                }
            }
            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_Goods>(boCollection, 10, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            //return View("../../Views/BusinessOrganization/BusinessBG/Index", boVMCollection);
            //}
            return(PartialView("../../Views/BusinessOrganization/PublicView/_List", boVMCollection));
        }
Beispiel #19
0
        public async Task <List <CoursesVM> > GetboVMCollectionAsyn(ListPageParameter listPageParameter)
        {
            var pageIndex = Int16.Parse(listPageParameter.PageIndex);
            var pageSize  = Int16.Parse(listPageParameter.PageSize);

            var typeID   = "";
            var keyword  = "";
            var typeName = "所有部门人员";

            if (!String.IsNullOrEmpty(listPageParameter.ObjectTypeID))
            {
                typeID = listPageParameter.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPageParameter.Keyword))
            {
                keyword = listPageParameter.Keyword;
            }

            // 根据查询创建的表达式
            Expression <Func <Course, bool> > predicateExpession = ExpressionFactoryMethod.GetConditionExpression <Course>(keyword);


            // 获取排序属性所需要的表达式
            var sortExpession = ExpressionFactoryMethod.GetPropertyExpression <Course, object>(listPageParameter.SortProperty);

            // 获取数据集合
            var tempCollection = _boRepository.GetAllIncluding(y => y.CourseAdministrator).Where(predicateExpession);

            // 排序
            if (String.IsNullOrEmpty(listPageParameter.SortProperty))
            {
                tempCollection = tempCollection.OrderBy(sortExpession);
            }
            else
            {
                tempCollection = tempCollection.OrderByDescending(sortExpession);
            }

            // 按照类型获取业务对象数据
            if (!String.IsNullOrEmpty(typeID))
            {
                //tempCollection = tempCollection.Where(y => y.GradeAndClass.Id == Guid.Parse(typeID));
                //typeName = _gradeRepository.GetSingle(Guid.Parse(typeID)).Name;
            }

            var isDescend = String.IsNullOrEmpty(listPageParameter.SortProperty);

            // 分页
            var boCollection = await tempCollection.ToPaginatedListAsync(pageIndex, pageSize);

            var boVMCollection = new List <CoursesVM>();
            var counter        = 0;

            foreach (var bo in boCollection)
            {
                var boVM = GetVM(bo.Id);
                boVM.OrderNumber = (++counter).ToString();
                boVMCollection.Add(boVM);
            }

            listPageParameter.PageAmount    = boCollection.TotalPageCount.ToString();
            listPageParameter.ObjectAmount  = boCollection.TotalCount.ToString();
            listPageParameter.PagenateGroup = PagenateGroupRepository.GetItem <Course>(boCollection, 10, pageIndex);
            listPageParameter.Keyword       = keyword;
            listPageParameter.TypeName      = typeName;

            return(boVMCollection);
        }
Beispiel #20
0
        /// <summary>
        /// 用户管理入口
        /// </summary>
        /// <returns></returns>
        public IActionResult Index()
        {
            var pageSize  = 15; // 这参数未来要根据前端用户的显示器情况处理一下
            var pageIndex = 1;

            var boCollection   = _RoleManager.Roles;
            var boVMCollection = new List <ApplicationRoleVM>();
            var counter        = 0;

            foreach (var item in boCollection.OrderBy(x => x.SortCode))
            {
                var boVM = new ApplicationRoleVM(item)
                {
                    OrderNumber = (++counter).ToString()
                };
                boVMCollection.Add(boVM);
            }
            // 提取第一个角色组的用户作为待处理的用户对象
            var role           = boCollection.OrderBy(x => x.SortCode).FirstOrDefault();
            var userCollection = from u in _UserManager.Users
                                 where u.Roles.Select(x => x.RoleId).Contains(role.Id)
                                 select u;

            // 提取分页的数据,当前这是第一页,而且没有任何限制条件的
            var userCollectionPageList = userCollection.ToPaginatedList(pageIndex, pageSize);
            var userVMCollection       = new List <ApplicationUserVM>();

            counter = 0;
            foreach (var user in userCollectionPageList)
            {
                var userVM = new ApplicationUserVM(user)
                {
                    OrderNumber = (++counter).ToString()
                };
                userVMCollection.Add(userVM);
            }

            ViewBag.UserVMCollection = userVMCollection;

            ViewBag.RoleName = role.DisplayName;
            ViewBag.RoleId   = role.Id;

            ViewBag.WhatItIs   = "Users"; // 用于为 _RoleAndUserLayout 判断调用那个 PartialView 使用的,相关的引用实例在:_RoleAndUserLayout.cshtml 大约 84-94 行
            ViewBag.RolesItems = boVMCollection;
            // 提取当前页面关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem <ApplicationUser>(userCollectionPageList, 10, pageIndex);

            ViewBag.PageGroup = pageGroup;

            var listPageParameter = new ListPageParameter()
            {
                PageIndex        = userCollectionPageList.PageIndex,
                Keyword          = "",
                PageSize         = userCollectionPageList.PageSize,
                ObjectTypeId     = role.Id,
                ObjectAmount     = userCollectionPageList.TotalCount,
                SortDesc         = "Default",
                SortProperty     = "UserName",
                PageAmount       = 0,
                SelectedObjectId = ""
            };

            ViewBag.PageParameter = listPageParameter;


            return(View("../../Views/ApplicationOrganization/ApplicationUser/Index", boVMCollection));
        }
Beispiel #21
0
        /// <summary>
        /// 用户列表数据
        /// </summary>
        /// <param name="listPageParaJson">
        /// 用于简单定义从前端页面返回的数据列表相关的 Json 变量,变量的定义依赖 ShiKe.Common.JsonModels.ListPageParameter,
        /// 前端 json 数据构建相关的代码,参见:wwwroot/js/yiZhanCommon.js 其中的方法:function yiZhanGetListParaJson()
        /// </param>
        /// <returns></returns>
        public async Task <IActionResult> List(string listPageParaJson)
        {
            var listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);

            var typeId  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeId))
            {
                typeId = listPagePara.ObjectTypeId;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            #region 1.构建与 keyword 相关的查询 lambda 表达式,用于对查询结果的过滤(给 Where 使用)
            Expression <Func <ApplicationUser, bool> > predicate = x =>
                                                                   x.UserName.Contains(keyword) ||
                                                                   x.ChineseFullName.Contains(keyword) ||
                                                                   x.FirstName.Contains(keyword) ||
                                                                   x.LastName.Contains(keyword) ||
                                                                   x.MobileNumber.Contains(keyword);
            #endregion

            #region 2.根据情况提取系统用户数据集和
            var id     = listPagePara.ObjectTypeId;
            var roleId = (String.IsNullOrEmpty(id)) ? "" : id;
            IQueryable <ApplicationUser> userCollection;
            if (String.IsNullOrEmpty(roleId))
            {
                // 提取全部没有归属用户组的用户
                userCollection = from u in _UserManager.Users
                                 where u.Roles.Count == 0
                                 select u;
            }
            else
            {
                // 提取归属指定用户组的用户
                userCollection = from u in _UserManager.Users
                                 where u.Roles.Select(x => x.RoleId).Contains(roleId)
                                 select u;
            }

            // 处理条件过滤
            var filterUserCollection = userCollection.Where(predicate);
            #endregion

            #region 3.根据属性名称确定排序的属性的 lambda 表达式
            var sortPropertyName = listPagePara.SortProperty;
            var type             = typeof(ApplicationUser);
            var target           = Expression.Parameter(typeof(object));
            var castTarget       = Expression.Convert(target, type);
            var getPropertyValue = Expression.Property(castTarget, sortPropertyName);
            var sortExpession    = Expression.Lambda <Func <ApplicationUser, object> >(getPropertyValue, target);
            #endregion

            #region 4.对过滤的用户数据进行排序
            // 处理排序
            IQueryable <ApplicationUser> sortedUserCollection;
            if (listPagePara.SortDesc == "")
            {
                sortedUserCollection = filterUserCollection.OrderByDescending(sortExpession);
            }
            else
            {
                sortedUserCollection = filterUserCollection.OrderBy(sortExpession);
            }
            // 处理分页
            var userCollectionPageList = sortedUserCollection.ToPaginatedList(listPagePara.PageIndex, listPagePara.PageSize);
            #endregion

            #region 5.构建相关的视图模型和所需要向前端提交一些与约束相关的参数
            var userVMCollection = new List <ApplicationUserVM>();
            var counter          = 0;
            foreach (var user in userCollectionPageList)
            {
                var userVM = new ApplicationUserVM(user)
                {
                    OrderNumber = (++counter + ((listPagePara.PageIndex - 1) * listPagePara.PageSize)).ToString()
                };
                userVMCollection.Add(userVM);
            }

            ViewBag.RoleId = id;
            if (!String.IsNullOrEmpty(roleId))
            {
                var role = await _RoleManager.FindByIdAsync(roleId);

                ViewBag.RoleName = role.DisplayName;
            }
            else
            {
                ViewBag.RoleName = "没有归属任何角色组";
            }
            // 提取当前页面关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem <ApplicationUser>(userCollectionPageList, 10, listPagePara.PageIndex);
            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            #endregion

            return(PartialView("../../Views/ApplicationOrganization/ApplicationUser/_List", userVMCollection));
        }
Beispiel #22
0
        /// <summary>
        /// 列表数据
        /// </summary>
        /// <param name="listPageParaJson">
        /// 用于简单定义从前端页面返回的数据列表相关的 Json 变量,变量的定义依赖 ShiKe.Common.JsonModels.ListPageParameter,
        /// 前端 json 数据构建相关的代码,参见:wwwroot/js/yiZhanCommon.js 其中的方法:function yiZhanGetListParaJson()
        /// </param>
        /// <returns></returns>
        public IActionResult List(string listPageParaJson)
        {
            var listPagePara = Newtonsoft.Json.JsonConvert.DeserializeObject <ListPageParameter>(listPageParaJson);

            var typeId  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeId))
            {
                typeId = listPagePara.ObjectTypeId;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            #region 1.构建与 keyword 相关的查询 lambda 表达式,用于对查询结果的过滤(给 Where 使用)
            Expression <Func <YZ_Commodity, bool> > predicate = x =>
                                                                x.Name.Contains(keyword) ||
                                                                x.Description.Contains(keyword) ||
                                                                x.Category.Name.Contains(keyword);
            #endregion

            var commodities = this._commodity.GetAllIncluding(x => x.Category, x => x.AscriptionUser);

            // 2.处理条件过滤
            var filterCommoditiesCollection = commodities.Where(predicate);

            #region 3.根据属性名称确定排序的属性的 lambda 表达式
            var sortPropertyName = listPagePara.SortProperty;
            var type             = typeof(YZ_Commodity);
            var target           = Expression.Parameter(typeof(object));
            var castTarget       = Expression.Convert(target, type);
            var getPropertyValue = Expression.Property(castTarget, sortPropertyName);
            var sortExpession    = Expression.Lambda <Func <YZ_Commodity, object> >(getPropertyValue, target);
            #endregion

            #region 4.对过滤的数据进行排序
            // 处理排序
            IQueryable <YZ_Commodity> sortedUserCollection;
            if (listPagePara.SortDesc == "")
            {
                sortedUserCollection = filterCommoditiesCollection.OrderByDescending(sortExpession);
            }
            else
            {
                sortedUserCollection = filterCommoditiesCollection.OrderBy(sortExpession);
            }
            // 处理分页
            var commodityCollectionPageList = sortedUserCollection.ToPaginatedList(listPagePara.PageIndex, listPagePara.PageSize);
            #endregion


            #region 5.构建相关的视图模型和所需要向前端提交一些与约束相关的参数
            var commodityListVM = new List <YZ_CommodityVM>();
            var counter         = 0;
            if (commodities.Count() > 0)
            {
                foreach (var commodity in commodityCollectionPageList)
                {
                    var commodityImage  = _businessImage.FindBy(m => m.RelevanceObjectId == commodity.Id).FirstOrDefault(m => m.Type == ImageType.CommodityCover);
                    var commodityImages = new List <BusinessImage>();
                    commodityImages.Add(commodityImage);
                    var commodityVM = new YZ_CommodityVM(commodity);
                    commodityVM.Images      = commodityImages;
                    commodityVM.OrderNumber = (++counter + ((listPagePara.PageIndex - 1) * listPagePara.PageSize)).ToString();
                    commodityListVM.Add(commodityVM);
                }
            }
            // 提取当前页面关联的分页器实例
            var pageGroup = PagenateGroupRepository.GetItem <YZ_Commodity>(commodityCollectionPageList, 10, listPagePara.PageIndex);
            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            #endregion
            return(PartialView("../../Views/AdminCenter/CommodityManagement/_List", commodityListVM));
        }
        public async Task <IActionResult> Index()
        {
            ViewBag.UserLogonInformation = GetUserName();

            var listPagePara = new ListPageParameter()
            {
                ObjectTypeID     = "Shop",        // 对应的归属类型ID
                PageIndex        = 1,             // 当前页码
                PageSize         = 8,             // 每页数据条数 为"0"时显示所有
                PageAmount       = 0,             // 相关对象列表分页处理分页数量
                ObjectAmount     = 0,             // 相关的对象的总数
                Keyword          = "",            // 当前的关键词
                SortProperty     = "SortCode",    // 排序属性
                SortDesc         = "default",     // 排序方向,缺省值正向 Default,前端用开关方式转为逆向:Descend
                SelectedObjectID = "",            // 当前页面处理中处理的焦点对象 ID
                IsSearch         = false,         // 当前是否为检索
            };

            var typeID  = "";
            var keyword = "";

            if (!String.IsNullOrEmpty(listPagePara.ObjectTypeID))
            {
                typeID = listPagePara.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPagePara.Keyword))
            {
                keyword = listPagePara.Keyword;
            }

            //var shCollection = await _ShopRepository.GetAllIncludingAsyn(x => x.ShopForUser,x=>x.ShopAvatar, x => x.ShopBanner);
            var shCollection = await _ShopRepository.PaginateAsyn(listPagePara.PageIndex, listPagePara.PageSize, x => x.SortCode, null, x => x.ShopAvatar, x => x.ShopBanner, x => x.ShopForExecuteIllegal, x => x.ShopForUser);

            var shVMCollection = new List <SK_WM_ShopVM>();

            foreach (var sh in shCollection)
            {
                if (sh.ShopForExecuteIllegal.ShopState == (SK_WM_ShopState.ShopState.已开启).ToString())
                {
                    var shVM   = new SK_WM_ShopVM(sh);
                    var images = _ImageRepository.GetAll().Where(x => x.RelevanceObjectID == sh.ID);
                    foreach (var img in images)
                    {
                        if (img.Description == "shopAvatar")
                        {
                            shVM.ShopAvatarPath = img.UploadPath;
                        }
                        if (img.Description == "shopBanner")
                        {
                            shVM.ShopBannerPath = img.UploadPath;
                        }
                    }
                    shVMCollection.Add(shVM);
                }
            }
            var pageGroup = PagenateGroupRepository.GetItem <SK_WM_Shop>(shCollection, 10, listPagePara.PageIndex);

            ViewBag.PageGroup     = pageGroup;
            ViewBag.PageParameter = listPagePara;
            ViewBag.GoodsType     = "Admin";
            return(View("../../Views/Shop/ShopManager/Index", shVMCollection));
        }
        /// <summary>
        /// 根据列表分页器的参数
        /// </summary>
        /// <param name="listPageParameter"></param>
        /// <param name="boService"></param>
        /// <param name=""></param>
        /// <returns></returns>
        public async Task <List <ApplicationUserVM> > GetboVMCollectionAsyn(ListPageParameter listPageParameter)
        {
            var pageIndex = Int16.Parse(listPageParameter.PageIndex);
            var pageSize  = Int16.Parse(listPageParameter.PageSize);

            var typeID       = "";
            var keyword      = "";
            var typeName     = "所有用户";
            var objectAmount = _userManager.Users.Count();

            if (!String.IsNullOrEmpty(listPageParameter.ObjectTypeID))
            {
                typeID = listPageParameter.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPageParameter.Keyword))
            {
                keyword = listPageParameter.Keyword;
            }

            #region 1.构建与 keyword 相关的查询 lambda 表达式,用于对查询结果的过滤(给 Where 使用)
            Expression <Func <ApplicationUser, bool> > predicateExpession = x =>
                                                                            x.UserName.Contains(keyword) ||
                                                                            x.ChineseFullName.Contains(keyword) ||
                                                                            x.FirstName.Contains(keyword) ||
                                                                            x.LastName.Contains(keyword) ||
                                                                            x.MobileNumber.Contains(keyword);
            #endregion

            #region 2.根据属性名称确定排序的属性的 lambda 表达式
            var sortPropertyName = listPageParameter.SortProperty;
            var type             = typeof(ApplicationUser);
            var target           = Expression.Parameter(typeof(object));
            var castTarget       = Expression.Convert(target, type);
            var getPropertyValue = Expression.Property(castTarget, sortPropertyName);
            var sortExpession    = Expression.Lambda <Func <ApplicationUser, object> >(getPropertyValue, target);
            #endregion

            PaginatedList <ApplicationUser> boCollection = new PaginatedList <ApplicationUser>();
            var roleId = listPageParameter.ObjectTypeID;
            if (String.IsNullOrEmpty(roleId))
            {
                var tempCollection = _userManager.Users.Where(predicateExpession);
                objectAmount = tempCollection.Count();

                if (listPageParameter.SortDesc == "")
                {
                    boCollection = tempCollection.OrderByDescending(sortExpession).AsQueryable().ToPaginatedList(pageIndex, pageSize);
                }
                else
                {
                    boCollection = tempCollection.OrderBy(sortExpession).AsQueryable().ToPaginatedList(pageIndex, pageSize);
                }
            }
            else
            {
                var role = await _roleManager.FindByIdAsync(roleId);

                var tempCollection = await _userManager.GetUsersInRoleAsync(role.Name);

                typeName     = role.Name;
                objectAmount = tempCollection.Count();

                if (listPageParameter.SortDesc == "")
                {
                    boCollection = tempCollection.AsQueryable().OrderByDescending(sortExpession).ToPaginatedList(pageIndex, pageSize);
                }
                else
                {
                    boCollection = tempCollection.AsQueryable().OrderBy(sortExpession).ToPaginatedList(pageIndex, pageSize);
                }
            }

            var boVMCollection = new List <ApplicationUserVM>();
            var counter        = 0;
            foreach (var user in boCollection)
            {
                var boVM = GetVMForList(user);
                boVM.OrderNumber = (++counter + (pageIndex - 1) * pageSize).ToString();
                boVMCollection.Add(boVM);
            }


            listPageParameter.PageAmount    = boCollection.TotalPageCount.ToString();
            listPageParameter.ObjectAmount  = boCollection.TotalCount.ToString();
            listPageParameter.PagenateGroup = PagenateGroupRepository.GetItem <ApplicationUser>(boCollection, 10, pageIndex);
            listPageParameter.Keyword       = keyword;
            listPageParameter.TypeName      = typeName;

            return(boVMCollection);
        }
        /// <summary>
        /// 根据列表分页器的参数
        /// </summary>
        /// <param name="listPageParameter"></param>
        /// <param name="boService"></param>
        /// <param name=""></param>
        /// <returns></returns>
        public async Task <List <ArticleVM> > GetboVMCollectionAsyn(ListPageParameter listPageParameter)
        {
            var pageIndex = Int16.Parse(listPageParameter.PageIndex);
            var pageSize  = Int16.Parse(listPageParameter.PageSize);

            var typeID       = "";
            var keyword      = "";
            var typeName     = "所有文章";
            var objectAmount = 0;

            if (!String.IsNullOrEmpty(listPageParameter.ObjectTypeID))
            {
                typeID = listPageParameter.ObjectTypeID;
            }
            if (!String.IsNullOrEmpty(listPageParameter.Keyword))
            {
                keyword = listPageParameter.Keyword;
            }

            #region 1.构建与 keyword 相关的查询 lambda 表达式,用于对查询结果的过滤(给 Where 使用)
            Expression <Func <Article, bool> > predicateExpession = x =>
                                                                    x.Name.Contains(keyword) ||
                                                                    x.ArticleSecondTitle.Contains(keyword) ||
                                                                    x.ArticleContent.Contains(keyword) ||
                                                                    x.Description.Contains(keyword);
            #endregion

            #region 2.根据属性名称确定排序的属性的 lambda 表达式
            var sortPropertyName = listPageParameter.SortProperty;
            var type             = typeof(Article);
            var target           = Expression.Parameter(typeof(object));
            var castTarget       = Expression.Convert(target, type);
            var getPropertyValue = Expression.Property(castTarget, sortPropertyName);
            var sortExpession    = Expression.Lambda <Func <Article, object> >(getPropertyValue, target);
            #endregion

            PaginatedList <Article> boCollection = new PaginatedList <Article>();

            //var roleId = listPageParameter.ObjectTypeID;
            if (String.IsNullOrEmpty(typeID))
            {
                var tempCollection = await _boRepository.GetAllIncludingAsyn(x => x.CreatorUser);

                objectAmount = _boRepository.GetAll().Count();

                if (listPageParameter.SortDesc == "")
                {
                    boCollection = tempCollection.OrderByDescending(sortExpession).AsQueryable().ToPaginatedList(pageIndex, pageSize);
                }
                else
                {
                    boCollection = tempCollection.OrderBy(sortExpession).AsQueryable().ToPaginatedList(pageIndex, pageSize);
                }
            }
            else
            {
                var tempCollection = await _articleInTopicRepository.GetAllIncludingAsyn(x => x.ArticleTopic, y => y.MasterArticle);

                var articleTopic      = _articleTopicRepository.GetSingle(Guid.Parse(typeID));
                var articleCollection = from x in tempCollection
                                        where x.ArticleTopic.Id == articleTopic.Id
                                        select x.MasterArticle;

                typeName     = articleTopic.Name;
                objectAmount = tempCollection.Count();

                if (listPageParameter.SortDesc == "")
                {
                    boCollection = articleCollection.AsQueryable().OrderByDescending(sortExpession).ToPaginatedList(pageIndex, pageSize);
                }
                else
                {
                    boCollection = articleCollection.AsQueryable().OrderBy(sortExpession).ToPaginatedList(pageIndex, pageSize);
                }
            }

            var boVMCollection = new List <ArticleVM>();
            var counter        = 0;
            foreach (var bo in boCollection)
            {
                var boVM = new ArticleVM();
                _BoMapToVM(bo, boVM);
                boVM.OrderNumber = (++counter + (pageIndex - 1) * pageSize).ToString();
                boVMCollection.Add(boVM);
            }


            listPageParameter.PageAmount    = boCollection.TotalPageCount.ToString();
            listPageParameter.ObjectAmount  = boCollection.TotalCount.ToString();
            listPageParameter.PagenateGroup = PagenateGroupRepository.GetItem <Article>(boCollection, 10, pageIndex);
            listPageParameter.Keyword       = keyword;
            listPageParameter.TypeName      = typeName;

            return(boVMCollection);
        }