Пример #1
0
        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;
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
 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));
     }
 }
Пример #4
0
        // 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));
        }
Пример #5
0
        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;
        }
Пример #6
0
        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));
        }