Esempio n. 1
0
        public ActionResult MyCompositions(int page = 1)
        {
            if (User.Identity.IsAuthenticated)
            {
                var userModel = userService
                                .GetUsers()
                                .FirstOrDefault(user => user.Login == User.Identity.Name);

                if (userModel != null)
                {
                    var compositions = compositionService
                                       .GetCompositions()
                                       .Where(comp => comp.UserId == userModel.Id);

                    const int PAGE_SIZE = 30;

                    var compositionsPerPages = compositions
                                               .Skip((page - 1) * PAGE_SIZE)
                                               .Take(PAGE_SIZE);

                    var pageInfo = new PageInfo
                    {
                        PageNumber = page,
                        PageSize   = PAGE_SIZE,
                        TotalItems = compositions.Count()
                    };

                    var ivm = new IndexViewModel <CompositionModel>
                    {
                        PageInfo   = pageInfo,
                        Collection = compositionsPerPages
                    };

                    return(View(ivm));
                }
            }
            return(Redirect("/Account/Index"));
        }