// GET: Blog public ActionResult Index() { BlogTextViewModel model = new BlogTextViewModel(); using (var db = new ApplicationDbContext()) { // Son 10 yazıyı çekiyoruz. model.texts = db.Texts.Take(10).ToList(); foreach (var item in model.texts) { //yazıların uzunluğu 300 karakterden fazlaysa sadece 300 //karakterini alıyoruz. if (item.Description.Length >= 300) { item.Description = item.Description.Substring(0, 300); } } model.thisPage = 1; //Yazıları 10'ar 10'ar aldığımızda toplam kaç sayfa listeleyeceğimizi //hesaplıyoruz. if (db.Texts.ToList().Count() % 10 != 0) { model.pageCount = model.texts.Count() / 10 + 1; } else { model.pageCount = model.texts.Count() / 10; } } return(View(model)); }
public ActionResult Page(int id) { BlogTextViewModel model = new BlogTextViewModel(); List <Text> texts = new List <Text>(); string name = ""; using (var db = new ApplicationDbContext()) { var text = db.Texts.Include("Category").Include("Admin1").ToList(); if (id == 1) { if (text.Count() < 10) { for (int i = 0; i < text.Count(); i++) { texts.Add(text[i]); } } else { for (int i = 0; i < 10; i++) { texts.Add(text[i]); } } } else { //seçilen sayfadan itibaren kalen yazı sayısı //Örneğin 34 yazı var diyelim biz 2 sayfa geldik //ilk 10 yazı gösterilmiş olduğu için geriye 24 yazı kalır. //Bu değişken ile o değeri tutuyoruz ve 10'dan büyükse döngüyü 10 kere dönecek şekilde ayarlıyoruz. //Değilse kalan kısım kadar ilerlemesini sağlıyoruz. int pageCount = text.Count() - (id - 1) * 10; int startPage = id * 10 - 10; if (pageCount >= 10) { for (int i = startPage; i < startPage + 10; i++) { texts.Add(text[i]); } } else { for (int i = startPage; i < startPage + pageCount; i++) { texts.Add(text[i]); } } } model.texts = texts; model.thisPage = id; if (text.Count() % 10 != 0) { model.pageCount = text.Count() / 10 + 1; } else { model.pageCount = text.Count() / 10; } } return(View(model)); }