//Администрирование public ActionResult Administration(int page = 1) { var db = new ApplicationDbContext(); var userId = Guid.Parse(User.Identity.GetUserId()); //List<Communities> communities = (db.Communities // .Where(c => c.UserId == userId) // .Select(c => c)).ToList(); List <Communities> communities = (from c in db.Communities join e in db.Editors on c.CommunityId equals e.CommunityId where (e.UserId == userId && e.CancellationDate == null) || (c.UserId == userId) select c).Distinct().ToList(); int pageSize = 10; // количество объектов на страницу IEnumerable <Communities> phonesPerPages = communities.Skip((page - 1) * pageSize).Take(pageSize); PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = communities.Count }; IndexViewModel1 ivm = new IndexViewModel1 { PageInfo = pageInfo, Communities = phonesPerPages }; return(View(ivm)); }
// GET: PostLists/Create public async Task <IActionResult> Create() { IndexViewModel1 req = new IndexViewModel1 { InformationSystems = await _context.InformationSystems.ToListAsync(), PostLists = await _context.PostLists.ToListAsync(), Subdivitions = await _context.Subdivitions.ToListAsync(), DocumentsIBs = await _context.DocumentsIB.ToListAsync() }; return(View(req)); }
//Подписки public ActionResult Subscriptions(int page = 1) { var db = new ApplicationDbContext(); var userId = Guid.Parse(User.Identity.GetUserId()); List <Communities> communities = new List <Communities>(); var select = from Sub in db.Subscriptions join Com in db.Communities on Sub.CommunityId equals Com.CommunityId where Sub.SubscriptionCancelationDate == null && Sub.UserId == userId select new { Id = Com.CommunityId, Name = Com.Name, Date = Com.CreationDate, User = Com.UserId }; foreach (var item in select) { var comunity = new Communities { CommunityId = item.Id, UserId = item.User, CreationDate = item.Date, Name = item.Name }; communities.Add(comunity); } int pageSize = 10; // количество объектов на страницу IEnumerable <Communities> phonesPerPages = communities.Skip((page - 1) * pageSize).Take(pageSize); PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = communities.Count }; IndexViewModel1 ivm = new IndexViewModel1 { PageInfo = pageInfo, Communities = phonesPerPages }; return(View(ivm)); }