/// <summary> /// 检查FeedBack信息是否存在 /// </summary> /// <param name="predicate">检查谓语表达式</param> /// <param name="id">更新的FeedBack编号</param> /// <returns>FeedBack信息是否存在</returns> public async Task <bool> CheckFeedBackExists(Expression <Func <FeedBack, bool> > predicate, int id = 0) { return(await Task.Run(() => { return FeedBackRepo.CheckExists(predicate, id); })); }
/// <summary> /// 删除FeedBack信息 /// </summary> /// <param name="ids">要删除的Id编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteFeedBacks(params int[] ids) { ids.CheckNotNull("ids"); await FeedBackRepo.RecycleAsync(p => ids.Contains(p.Id)); return(new OperationResult(OperationResultType.Success, "删除成功")); }
public JsonResult Vote(Vote vote) { using (var context = new ApplicationDbContext()) { FeedBackRepo feedBack = new FeedBackRepo(context); var userId = User.Identity.GetUserId(); if (context.Votes.Any(x => x.CommentId == vote.CommentId && x.CreatedBy == userId)) { var type = context.Votes.FirstOrDefault(x => x.CommentId == vote.CommentId && x.CreatedBy == userId); if (type.Type != vote.Type) { type.Type = vote.Type; vote.CreateDate = DateTime.UtcNow; context.SaveChanges(); var voteCount = feedBack.CountVote(vote.CommentId); feedBack.UpdateCommentCount(vote.CommentId, voteCount[0], voteCount[1]); return(Json(new { like = voteCount[0], dislike = voteCount[1] }, JsonRequestBehavior.AllowGet)); } else { var voteCount = feedBack.CountVote(vote.CommentId); feedBack.UpdateCommentCount(vote.CommentId, voteCount[0], voteCount[1]); return(Json(new { like = voteCount[0], dislike = voteCount[1] }, JsonRequestBehavior.AllowGet)); } } else { if (ModelState.IsValid) { vote.CreatedBy = User.Identity.GetUserId(); vote.CreateDate = DateTime.UtcNow; context.Votes.Add(vote); context.SaveChanges(); var voteCount = feedBack.CountVote(vote.CommentId); feedBack.UpdateCommentCount(vote.CommentId, voteCount[0], voteCount[1]); return(Json(new { like = voteCount[0], dislike = voteCount[1] }, JsonRequestBehavior.AllowGet)); } } } return(Json(false)); }
// GET: FeedBack public ActionResult Index() { FeedBackVM fb = new FeedBackVM(); using (var context = new ApplicationDbContext()) { FeedBackRepo feedBack = new FeedBackRepo(context); feedBack.GetAllPosts(1, fb); } return(View(fb)); }
public ActionResult Index(FeedBackVM fb) { using (var context = new ApplicationDbContext()) { FeedBackRepo feedBack = new FeedBackRepo(context); //Reset page count if (fb.HiddenItemPerPage != fb.ItemPerPage) { fb.page = 1; } else { fb.page = fb.page; } fb.HiddenItemPerPage = fb.ItemPerPage; feedBack.GetAllPosts((int)fb.page, fb); } return(View(fb)); }
/// <summary> /// 保存FeedBack信息(新增/更新) /// </summary> /// <param name="updateForeignKey">更新时是否更新外键信息</param> /// <param name="dtos">要保存的FeedBackDto信息</param> /// <returns>业务操作集合</returns> public async Task <OperationResult> SaveFeedBacks(bool updateForeignKey = false, params FeedBackDto[] dtos) { try { dtos.CheckNotNull("dtos"); var addDtos = dtos.Where(p => p.Id == 0).ToArray(); var updateDtos = dtos.Where(p => p.Id != 0).ToArray(); FeedBackRepo.UnitOfWork.TransactionEnabled = true; Action <FeedBackDto> checkAction = null; Func <FeedBackDto, FeedBack, FeedBack> updateFunc = (dto, entity) => { if (dto.Id == 0 || updateForeignKey) { entity.UserInfo = UserInfoRepo.GetByKey(dto.UserInfoId); } return(entity); }; if (addDtos.Length > 0) { FeedBackRepo.Insert(addDtos, checkAction, updateFunc); } if (updateDtos.Length > 0) { FeedBackRepo.Update(updateDtos, checkAction, updateFunc); } await FeedBackRepo.UnitOfWork.SaveChangesAsync(); return(new OperationResult(OperationResultType.Success, "保存成功")); } catch (Exception e) { return(new OperationResult(OperationResultType.Error, e.Message)); } }
/// <summary> /// 删除FeedBack信息 /// </summary> /// <param name="ids">要删除的Id编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteFeedBacks(params int[] ids) { ids.CheckNotNull("ids"); return(await Task.Run(() => FeedBackRepo.Delete(ids))); }