public void GetAllPosts(int Page, FeedBackVM feedBack) { //var posts = context.Posts.Take(1).Include(u=>u.User).Include(y => y.PostComments).ToList(); //var voteLit = context.Votes.ToList(); //FeedBackVM feedBack = new FeedBackVM(); //foreach (var p in posts) //{ //} //var Post = (from p in context.Posts // join c in context.Comments on p.Id equals c.PostId into cc // from cmnt in cc.DefaultIfEmpty() // select new // { // p, // cc, // votes = context.Votes.Where(x => x.CommentId == cmnt.Id) // }).ToList(); var posts = context.Posts.OrderBy(x => x.Id).Include(x => x.User); var posts2 = posts; feedBack.TotalPost = posts2.Count(); var pager = new Pager(feedBack.TotalPost, Page, 5); var PostList = posts.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); var postId = PostList.Select(x => x.Id).ToList(); var comments = context.Comments.Include(x => x.User).Where(x => postId.Contains(x.PostId)).ToList(); // var comments = context.Comments.Include(x => x.User).ToList(); var commentIds = comments.Select(x => x.Id).ToList(); var votes = context.Votes.Where(v => commentIds.Contains(v.CommentId)).ToList(); foreach (var item in comments) { item.VoteList = votes.Where(x => x.CommentId == item.Id).ToList(); } foreach (var item in posts) { item.PostComments = comments.Where(x => x.PostId == item.Id).ToList(); } feedBack.ItemPerPage = 5; feedBack.HiddenItemPerPage = 5; // stock.StockList = items; feedBack.pager = pager; feedBack.PostList = PostList; }
public IHttpActionResult Put(string id, FeedBackVM model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model == null) { return(NotFound()); } var feedBack = _context.Entry(new FeedBack { id_feedback = id, id_order = model.id_order, id_role = model.id_role, feedback_content = model.feedback_content, feedback_rate = model.feedback_rate }).State = System.Data.Entity.EntityState.Modified; return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Post(FeedBackVM model) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model == null) { return(NotFound()); } var feedBack = _context.FeedBacks.Add(new Models.FeedBack { id_feedback = model.id_feedback, id_order = model.id_order, id_role = model.id_role, feedback_content = model.feedback_content, feedback_rate = model.feedback_rate }); _context.SaveChanges(); return(Ok(feedBack)); } catch (Exception ex) { return(InternalServerError(ex)); } }
// 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 void GetAllPost(int Page, FeedBackVM feedBack) { var posts = context.Posts.Include("User").Include("PostComments").Include("PostComments.User"); var posts2 = posts; feedBack.TotalPost = posts2.Count(); var pager = new Pager(feedBack.TotalPost, Page, 5); feedBack.PostList = posts.OrderBy(x => x.Id).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); feedBack.ItemPerPage = 5; feedBack.HiddenItemPerPage = 5; feedBack.pager = pager; }
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)); }