Пример #1
0
        public async Task <IActionResult> Index()
        {
            int getCount = 4;//获取条目数
            var datas    = await this._anAssociationExtension.GetAll().Include(x => x.Avatar).ToListAsync();

            var anAssociationRecommend = new List <AnAssociationVM>();

            foreach (var item in datas)
            {
                var anVM = new AnAssociationVM(item);
                anVM.AnAssociationNum = (await _anAssociationAndUserExtension.GetAll().Where(x => x.AnAssociation.ID == item.ID).ToListAsync()).Count;
                anAssociationRecommend.Add(anVM);
            }
            var listAns = anAssociationRecommend.OrderByDescending(s => s.CreateDataTime).OrderByDescending(s => s.AnAssociationNum).Take(getCount).ToList();

            ViewBag.ListAns = listAns;

            var userCount = 9;//默认获取9个人
            var users     = await _userExtension.GetAll().Include(s => s.Avatar).ToListAsync();

            userCount = userCount > users.Count ? users.Count : userCount;  //判断是否够9个人
            var ran       = new Random();
            var index     = 0;
            var interests = new List <ApplicationUser>();//用于存储随机相同兴趣的人

            for (int i = 0; i < userCount; i++)
            {
                index = ran.Next(0, users.Count());
                interests.Add(users[index]);
                users.RemoveAt(index);
            }
            ViewBag.InterestUsers = interests;
            return(View("~/Views/BusinessView/AnAssociationView/Index.cshtml"));
        }
Пример #2
0
        public async Task <IActionResult> Detailed(Guid id)
        {
            var entity = await _anAssociationRepository.GetSingleAsyn(id, x => x.User, x => x.User.Avatar, x => x.Avatar);

            //获取社团用户
            var anAdminUsers = await _anAssociationAndUserExtension.GetAll().Include(x => x.User).Where(x => x.AnAssociationId == entity.ID).ToListAsync();

            var AnAdmins = new List <ApplicationUser>();

            //获取社团管理者
            foreach (var item in anAdminUsers)
            {
                if (item.AnJurisdictionManager == AnJurisdiction.Admin)
                {
                    AnAdmins.Add(await _userExtension.GetAll().Include(x => x.Avatar).Where(x => x.Id == item.User.Id).FirstOrDefaultAsync());
                }
            }
            ViewBag.AnAdmins = AnAdmins;

            var entityVM = new AnAssociationVM(entity);
            var acNum    = await _activityTermExtension.GetAll().Include(x => x.AnAssociation).Where(x => x.AnAssociation.ID == id).ToListAsync();

            entityVM.acNum   = acNum.Count;
            entityVM.userNum = anAdminUsers.Count();
            return(View("~/Views/BusinessView/AnAssociationView/_Detailed.cshtml", entityVM));
        }
Пример #3
0
        /// <summary>
        /// 增或者编辑人员数据的处理
        /// </summary>
        /// <param name="id">活动对象的ID属性值,如果这个值在系统中找不到具体的对象,则看成是新建对象。</param>
        /// <returns></returns>
        public async Task <IActionResult> CreateOrEdit(Guid id)
        {
            var an = await _anAssociationRepository.GetSingleAsyn(id, x => x.User);

            if (an == null)
            {
                an = new AnAssociation();
            }
            var anVM = new AnAssociationVM(an);

            return(View("~/Views/GroupOrganization/AnAssociation/CreateOrEdit.cshtml", anVM));
        }
Пример #4
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));
        }
Пример #5
0
        /// <summary>
        /// 根据ID查询对应的活动信息,
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Detail(Guid id)
        {
            var anAssociation = await _anAssociationRepository.GetSingleAsyn(id, x => x.User);

            var anVM = new AnAssociationVM(anAssociation);

            //获取图片
            anVM.Images = await _businessImageRepository.GetAll().Where(x => x.RelevanceObjectID == id).ToListAsync();

            //获取社团管理员的数量和用户的数量
            var anUser = _anAssociationAndUserExtension.GetAll().OrderByDescending(x => x.AnJurisdictionManager).Include(x => x.User).Include(x => x.User.Avatar).Where(x => x.AnAssociationId == id);

            ViewBag.AnManagerNumber = (await anUser.Where(x => x.AnJurisdictionManager == AnJurisdiction.Founder || x.AnJurisdictionManager == AnJurisdiction.Admin).ToListAsync()).Count();
            ViewBag.UserNumber      = anUser.Count();
            anVM.Members            = anUser.ToList();
            //获取社团活动
            var activity = await _activityTermExtension.GetAll().Include(x => x.AnAssociation).Where(x => x.AnAssociation.ID == id).ToListAsync();

            //anVM.Activitys = activity;
            ViewBag.ActivityNumber = activity.Count();

            return(PartialView("~/Views/GroupOrganization/AnAssociation/_Detail.cshtml", anVM));
        }
Пример #6
0
        public async Task <IActionResult> SingAndExchange(int index)
        {
            var datas = await _anassociationExtension.GetAll().Include(x => x.Avatar).ToListAsync();

            datas = datas.Skip(index * pageSize).Take(pageSize).ToList();
            var flag           = false;
            var anAssociations = new List <AnAssociationVM>();

            if (datas.Count() == 0)
            {
                datas = (await _anassociationExtension.GetAllAsyn()).Take(pageSize).ToList();
                flag  = true;
            }
            foreach (var item in datas)
            {
                var anVm = new AnAssociationVM(item)
                {
                    AnAssociationNum = (await _anassociationAndUserExtension.GetAll().Where(x => x.AnAssociationId == item.ID).ToListAsync()).Count
                };
                anAssociations.Add(anVm);
            }
            return(Json(new { Items = anAssociations, ifLastIndex = flag }));
        }
Пример #7
0
        /// <summary>
        /// 用于存储或更新活动
        /// </summary>
        /// <param name="anVM"></param>
        /// <returns></returns>
        public async Task <IActionResult> Sava([Bind("ID,UserId,Name,SchoolAddress,CreateDataTime,MaxNumber,Description")] AnAssociationVM anVM)
        {
            var an = await _anAssociationRepository.GetSingleAsyn(anVM.ID);

            if (an == null)
            {
                an = new AnAssociation();
                var userclaims = User.Claims.FirstOrDefault();
                var userData   = await _userManager.FindByIdAsync(userclaims.Value.ToString());

                an.User = userData;
                var anFounder = new AnAssociationAndUser()
                {
                    User                  = userData,
                    AnAssociationId       = anVM.ID,
                    AnJurisdictionManager = AnJurisdiction.Founder
                };
                an.IsDisable = true;
                _anAssociationAndUserExtension.Add(anFounder);
            }
            anVM.MapToAn(an);
            var savaStatus = await _anAssociationRepository.AddOrEditAndSaveAsyn(an);

            if (an == null)
            {
                _anAssociationAndUserExtension.Save();
            }
            if (savaStatus)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", "数据保存出现异常,无法创建活动。");
                return(View("~/Views/GroupOrganization/AnAssociation/CreateOrEdit.cshtml", anVM));
            }
        }