Esempio n. 1
0
        // 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));
        }
Esempio n. 2
0
        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));
        }