コード例 #1
0
        /// <summary>
        /// 用于存储或更新活动
        /// </summary>
        /// <param name="atVM"></param>
        /// <returns></returns>
        public async Task <IActionResult> Sava([Bind("ID,Name,Description,Address,MaxNumber,AnAssociationID,SignDataTime,MaxNumber,EndDataTime,StartDataTime,Expenses")] ActivityTermVM atVM)
        {
            var at = new ActivityTerm();

            at = await _activityTermRepository.GetSingleAsyn(atVM.ID);

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

                at.User      = userData;
                at.IsDisable = true;
            }
            atVM.MapToAT(at);
            var savaStatus = await _activityTermRepository.AddOrEditAndSaveAsyn(at);

            if (savaStatus)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", "数据保存出现异常,无法创建活动。");
                return(View("~/Views/GroupOrganization/ActivityTerm/CreateOrEdit.cshtml", atVM));
            }
        }
コード例 #2
0
        /// <summary>
        /// 增或者编辑人员数据的处理
        /// </summary>
        /// <param name="id">活动对象的ID属性值,如果这个值在系统中找不到具体的对象,则看成是新建对象。</param>
        /// <returns></returns>
        public async Task <IActionResult> CreateOrEdit(Guid id)
        {
            var at = await _activityTermRepository.GetSingleAsyn(id, x => x.User, x => x.AnAssociation);

            if (at == null)
            {
                at = new ActivityTerm();
            }
            var atVM = new ActivityTermVM(at);

            return(View("~/Views/GroupOrganization/ActivityTerm/CreateOrEdit.cshtml", atVM));
        }
コード例 #3
0
        /// <summary>
        /// 根据ID查询对应的活动信息,
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Detail(Guid id)
        {
            var activityTerm = await _activityTermRepository.GetSingleAsyn(id, x => x.User, x => x.AnAssociation);

            var atVM = new ActivityTermVM(activityTerm);

            atVM.Images = await _businessImageRepository.GetAll().Where(x => x.RelevanceObjectID == id).ToListAsync();

            //获取参与活动的用户
            atVM.Members = await _activityUserExtension.GetAll().Include(x => x.User).Include(x => x.User.Avatar).Include(x => x.ActivityTerm).Where(x => x.ActivityTermId == id).ToListAsync();

            ViewBag.MemberNumber  = atVM.Members.Count();
            ViewBag.CommentNumber = (await _commonExtension.GetAll().Include(x => x.Activity).Where(x => x.Activity.ID == id).ToListAsync()).Count();
            return(PartialView("~/Views/GroupOrganization/ActivityTerm/_Detail.cshtml", atVM));
        }
コード例 #4
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));
        }
コード例 #5
0
        /// <summary>
        /// 获取活动明细
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Detailied(Guid id)
        {
            var i = 0;
            //获取活动,
            var entity = await _activityTermRepository.GetSingleAsyn(id, x => x.Avatar, x => x.User, x => x.AnAssociation, x => x.User.Avatar, x => x.AnAssociation.Avatar, x => x.AnAssociation.User);

            //获取参与活动的用户
            var activityUsers = await _activityUserExtension.GetAll().Include(x => x.User).Include(x => x.ActivityTerm).Where(x => x.ActivityTermId == id).ToListAsync();

            ViewBag.Number = activityUsers.Count();
            var Users = new List <ApplicationUser>();

            //获取社团用户
            foreach (var activityUser in activityUsers)
            {
                Users.Add(await _userManager.FindByIdAsync(activityUser.User.ToString()));
            }
            ViewBag.Users = Users;
            var entityVm = new ActivityTermVM(entity);

            return(View("~/Views/BusinessView/ActivityTermView/Detailied.cshtml", entityVm));
        }
コード例 #6
0
        /// <summary>
        /// 获取用户活动列表
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> List(string id, string pageNumber)
        {
            if (pageNumber == "undefined")
            {
                pageNumber = "0";
            }
            ////获取自己创建的
            //var activityTermCollection = await _activityTermExtension.GetAll().Include(x => x.User).Include(x => x.User.Avatar).Where(x => x.Status == ActivityStatus.已结束 && x.User.Id == id && x.IsDisable).ToListAsync();

            //获取自己参与的
            var activityUserCollection = await _activityUserExtension.GetAll().OrderByDescending(x => x.ActivityTerm.StartDataTime).Include(x => x.ActivityTerm).Include(x => x.User).Include(x => x.User.Avatar)
                                         .Include(x => x.ActivityTerm.User).Include(x => x.ActivityTerm.User.Avatar).Where(x => x.ActivityTerm.Status == ActivityStatus.已结束 && x.User.Id == id && x.ActivityTerm.IsDisable).ToListAsync();

            var activitys = new List <ActivityTerm>();

            //activitys = activityUserCollection.Select(x => x.ActivityTerm).ToList();
            //合并、去重
            //var activitys = activityTermCollection.Union(activityUser).ToList();
            activityUserCollection = activityUserCollection.Skip(Convert.ToInt32(pageNumber) * 10).Take(10).ToList();
            if (activityUserCollection.Count == 0)
            {
                return(Json(false));
            }
            var activityTermVM = new List <ActivityTermVM>();

            foreach (var activity in activityUserCollection)
            {
                var acVM = new ActivityTermVM(activity.ActivityTerm);
                acVM.Images = await _businessImageExtension.GetAll().Where(x => x.RelevanceObjectID == activity.ActivityTerm.ID).ToListAsync();

                acVM.Comments = await GetComments(activity.ActivityTerm.ID);

                //获取评论数量
                acVM.CommentNumber = (await _commonExtension.GetAll().Include(x => x.Activity).Where(x => x.Activity.ID == activity.ActivityTerm.ID).ToListAsync()).Count;
                acVM.ActivityUser  = activity.User;
                activityTermVM.Add(acVM);
            }
            return(View("~/Views/BusinessView/PersonalCenter/_List.cshtml", activityTermVM));
        }