/// <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)); } }
/// <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)); }
/// <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)); }
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)); }
/// <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)); }
/// <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)); }