public ActionResult Index()
        {
            if (OgrenciID == 0)
            {
                OgrenciID = ((Kullanici)Helpers.CacheProvider.CachedenOku("kullanici")).ID;
            }

            int[] ogrenciTezleri = new TezOgrenciService().TezOgrencileriGetir().Where(x => x.OgrenciID == OgrenciID).Select(x => x.TezID).ToArray();
            List <TezDosyaYuklemeDuyurusuViewModel> lst = new List <TezDosyaYuklemeDuyurusuViewModel>();

            if (ogrenciTezleri.Length > 0)
            {
                Tez item = new TezService().TezleriGetir().Where(x => ogrenciTezleri.Contains(x.ID)).LastOrDefault();

                lst = new TezDosyaYuklemeDuyuruService().TezDosyaYuklemeDuyurulariGetir().
                      Where(x => x.TezDonemID == item.TezDonemID && x.DersKoduID == item.TezKodID).ToList().
                      Select(x => new TezDosyaYuklemeDuyurusuViewModel()
                {
                    Adi      = x.Adi,
                    Aciklama = x.Aciklama,
                    SonDosyaYuklemeTarihi = x.SonDosyaYuklemeTarihi,
                    ID = x.ID
                }).ToList();
            }
            return(View(lst));
        }
        public ActionResult Tezlerim()
        {
            int[] ogrenciTezleri = new TezOgrenciService().TezOgrencileriGetir().Where(x => x.OgrenciID == OgrenciID).Select(x => x.TezID).ToArray();

            List <TezViewModel> lst = new List <TezViewModel>();

            foreach (Tez item in new TezService().TezleriGetir().Where(x => ogrenciTezleri.Contains(x.ID)).ToList())
            {
                TezViewModel tvm = new TezViewModel
                {
                    ID         = item.ID,
                    TezAdi     = item.TezAdi,
                    TezDonemID = item.TezDonemID,
                    TezKodID   = item.TezKodID,
                    OgretmenID = item.OgretmenID,
                    TezDonemi  = new TezDonemService().TezDonemiGetir().Where(x => x.ID == item.TezDonemID).SingleOrDefault().TezDonemAdi
                };
                OgretmenViewModel tmp = OgretmenleriGetir().SingleOrDefault(x => x.ID == item.OgretmenID);
                tvm.OgretimGorevlisi = $"{tmp.Unvan} {tmp.Ad} {tmp.Soyad}";
                lst.Add(tvm);
            }

            return(View(lst));
        }
        private static List <OgrenciViewModel> TezAlabilenOgrenciler()
        {
            int tezDonemID = new TezDonemService().TezDonemiGetir().Last().ID;

            int[] DonemdekiTezler     = new TezService().TezleriGetir().Where(x => x.TezDonemID == tezDonemID).Select(x => x.ID).ToArray();
            int[] DonemdekiOgrenciler = new TezOgrenciService().TezOgrencileriGetir().Where(x => DonemdekiTezler.Contains(x.TezID)).Select(x => x.OgrenciID).ToArray();


            List <OgrenciViewModel> lst          = new List <OgrenciViewModel>();
            List <Kullanici>        kullanicilar = new KullaniciService().KullanicilariGetir().ToList();
            List <Ogrenci>          ogrenciler   = new OgrenciService().OgrencileriGetir().ToList().Where(x => !DonemdekiOgrenciler.Contains(x.ID)).ToList();

            foreach (var item in ogrenciler)
            {
                Kullanici        _kul = kullanicilar.Where(x => x.ID == item.ID).SingleOrDefault();
                OgrenciViewModel ovm  = new OgrenciViewModel
                {
                    ID        = item.ID,
                    OgrenciNo = item.OgrenciNumarasi,
                    Ad        = _kul.Ad,
                    Fotograf  = _kul.Fotograf,
                    Mail      = _kul.Mail,
                    Soyad     = _kul.Soyad
                };
                lst.Add(ovm);
            }
            return(lst);
        }
        /// <summary>
        /// Tez duyurusuna yüklenen dosyaları gösterir
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public ActionResult TezDosyaYukle(int?ID)
        {
            if (ID != null)
            {
                TezDosyaYuklemeDuyurusu duyuru = new TezDosyaYuklemeDuyuruService().TezDosyaYuklemeDuyurulariGetir().Where(x => x.ID == ID).SingleOrDefault();
                int[] ogrenciTezleri           = new TezOgrenciService().TezOgrencileriGetir().Where(x => x.OgrenciID == OgrenciID).Select(x => x.TezID).ToArray();
                Tez   tez = new TezService().TezleriGetir().LastOrDefault(x => x.TezKodID == duyuru.DersKoduID && x.TezDonemID == duyuru.TezDonemID && ogrenciTezleri.Contains(x.ID));
                List <TezDosyaYukleme> _tezDosyaYukleme = new TezDosyaYuklemeService().TezDosyaYuklemeGetir().Where(x => x.TezID == tez.ID).ToList();

                if (tez != null)
                {
                    TezDosyaYuklemeViewModel model = new TezDosyaYuklemeViewModel
                    {
                        Tez = tez,
                        TezDosyaYuklemeDuyurusu = duyuru,
                        TezDosyaYukleme         = _tezDosyaYukleme.
                                                  Select(y => new TezDosyaYukleme
                        {
                            ID            = y.ID,
                            DosyaAciklama = y.DosyaAciklama,
                            DosyaAdi      = y.DosyaAdi,
                        }).ToList()
                    };
                    ViewBag.DuyuruDosyalari = new TezDosyaYuklemeDuyuruDosyasiService().TezDosyaYuklemeDuyuruDosyalariGetir().Where(x => x.TezDosyaYuklemeDuyurusuID == ID).ToList();
                    return(View(model));
                }

                return(View());
            }
            ViewBag.Mesaj = $"<div class='alert alert-danger'><strong>Hata!</strong> Dosya eklenecek tez bulunamadı... </div>";
            return(View());
        }