public JsonResult YoklamaGuncelle(YoklamaViewModel model)
        {
            JsonResultModel jmodel = new JsonResultModel();

            try
            {
                Yoklamalar y = yoklamarepo.Get(model.YoklamaID);
                y.OgrenciIDListe = null;
                string[] ogridliste = model.OgrenciIDListe;
                if (model.OgrenciIDListe != null)
                {
                    for (int i = 0; i < ogridliste.Length; i++)
                    {
                        y.OgrenciIDListe += ogridliste[i];
                        if (i + 1 < ogridliste.Length)
                        {
                            y.OgrenciIDListe += ",";
                        }
                    }
                }
                yoklamarepo.Update(y);
                jmodel.IsSuccess   = true;
                jmodel.UserMessage = "Güncelleme işlemi başarılı bir şekilde gerçekleşti.";
            }
            catch
            {
                jmodel.IsSuccess   = false;
                jmodel.UserMessage = "Güncelleme işlemi sırasında bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.";
            }
            return(Json(jmodel, JsonRequestBehavior.AllowGet));
        }
        public List <YoklamaViewModel> YoklamaPDFAktarListeGetir(int Sinif, string Sube, DateTime Tarih)
        {
            int      okulid = Convert.ToInt32(Session["OkulID"]);
            Donemler d      = donemrepo.GetByFilter(a => a.AktifMi == true);
            List <YoklamaViewModel> YoklamaListe = new List <YoklamaViewModel>();
            List <Yoklamalar>       liste        = yoklamarepo.GetByFilterList(a => a.AktifMi == true && a.OkulID == okulid && a.DonemID == d.DonemID && a.Sinif == Sinif && a.Sube == Sube);

            liste = (from i in liste
                     where Convert.ToDateTime(i.Tarih).Date == Tarih.Date
                     orderby i.DersGrupID ascending
                     select i).ToList();
            if (liste.Count > 0)
            {
                foreach (var i in liste)
                {
                    YoklamaViewModel m = new YoklamaViewModel();
                    m.AktifMi    = i.AktifMi;
                    m.DersGrupID = i.DersGrupID;
                    m.DersID     = i.DersID;
                    m.DonemID    = i.DonemID;
                    if (i.OgrenciIDListe != null)
                    {
                        m.OgrenciIDListe = i.OgrenciIDListe.Split(',');
                    }
                    m.OgretmenID = i.OgretmenID;
                    m.OkulID     = i.OkulID;
                    m.Sinif      = i.Sinif;
                    m.Sube       = i.Sube;
                    m.Tarih      = i.Tarih;
                    m.YoklamaID  = i.YoklamaID;
                    YoklamaListe.Add(m);
                }
            }
            return(YoklamaListe);
        }
        public ActionResult YoklamaGuncelle(int YoklamaID)
        {
            int                        okulid       = Convert.ToInt32(Session["OkulID"]);
            Donemler                   d            = donemrepo.GetByFilter(a => a.AktifMi == true);
            YoklamaViewModel           YoklamaModel = new YoklamaViewModel();
            Yoklamalar                 yoklama      = yoklamarepo.GetByFilter(a => a.YoklamaID == YoklamaID && a.OkulID == okulid);
            YoklamaGuncellemeViewModel yoklamaliste = new YoklamaGuncellemeViewModel();

            yoklamaliste.islemTamam = false;
            if (yoklama != null)
            {
                if (yoklama.OgrenciIDListe != null)
                {
                    YoklamaModel.OgrenciIDListe = yoklama.OgrenciIDListe.Split(',');
                }

                List <Ogrenciler>             ogrencilist             = ogrencirepo.GetByFilterList(a => a.AktifMi == true && a.OkulID == okulid && a.DonemID == d.DonemID && a.Sinif == yoklama.Sinif && a.Sube == yoklama.Sube);
                List <OgrenciYoklamaCheckBox> ogrenciyoklamachecklist = new List <OgrenciYoklamaCheckBox>();
                yoklamaliste.YoklamaID = yoklama.YoklamaID;
                foreach (var item in ogrencilist)
                {
                    OgrenciYoklamaCheckBox m = new OgrenciYoklamaCheckBox();
                    m.Adi       = item.Adi;
                    m.AktifMi   = item.AktifMi;
                    m.DonemID   = item.DonemID;
                    m.OgrenciID = item.OgrenciID;
                    m.OgrenciNo = item.OgrenciNo;
                    m.OkulID    = item.OkulID;
                    m.secildimi = false;
                    m.Sinif     = item.Sinif;
                    m.Soyadi    = item.Soyadi;
                    m.Sube      = item.Sube;
                    ogrenciyoklamachecklist.Add(m);
                }

                if (YoklamaModel.OgrenciIDListe != null)
                {
                    for (int i = 0; i < ogrenciyoklamachecklist.Count(); i++)
                    {
                        for (int j = 0; j < YoklamaModel.OgrenciIDListe.Length; j++)
                        {
                            if (ogrenciyoklamachecklist[i].OgrenciID == Convert.ToInt32(YoklamaModel.OgrenciIDListe[j].ToString()))
                            {
                                ogrenciyoklamachecklist[i].secildimi = true;
                            }
                        }
                    }
                }
                yoklamaliste.liste      = ogrenciyoklamachecklist;
                yoklamaliste.islemTamam = true;
                ViewBag.Sinif           = yoklama.Sinif;
                ViewBag.Sube            = yoklama.Sube;
            }
            else
            {
                yoklamaliste.islemTamam = false;
            }
            return(View(yoklamaliste));
        }
        public ActionResult FiltreYoklama(int Sinif = 0, string Sube = null, string Tarih = null)
        {
            bool     secimyapildimi = false;
            int      okulid         = Convert.ToInt32(Session["OkulID"]);
            Donemler d = donemrepo.GetByFilter(a => a.AktifMi == true);
            SinifSubeDersGrupView SinifSube = new SinifSubeDersGrupView();

            SinifSube.SinifGrup = (from i in ogrencirepo.GetByFilterList(a => a.OkulID == okulid && a.AktifMi == true).ToList()
                                   orderby i.Sinif
                                   group i by i.Sinif into g
                                   select new SelectListItem
            {
                Text = g.Key.ToString(),
                Value = g.Key.ToString()
            }).ToList();

            List <YoklamaViewModel> YoklamaListe = new List <YoklamaViewModel>();

            //YoklamaListe = null;
            if (Sinif != 0 && (!String.IsNullOrEmpty(Sube) || Sube != "0") && !String.IsNullOrEmpty(Tarih))
            {
                secimyapildimi = true;
                List <Yoklamalar> liste = yoklamarepo.GetByFilterList(a => a.AktifMi == true && a.OkulID == okulid && a.DonemID == d.DonemID && a.Sinif == Sinif && a.Sube == Sube);
                liste = (from i in liste
                         where Convert.ToDateTime(i.Tarih).Date == Convert.ToDateTime(Tarih).Date
                         orderby i.DersGrupID ascending
                         select i).ToList();
                if (liste.Count > 0)
                {
                    foreach (var i in liste)
                    {
                        YoklamaViewModel m = new YoklamaViewModel();
                        m.AktifMi    = i.AktifMi;
                        m.DersGrupID = i.DersGrupID;
                        m.DersID     = i.DersID;
                        m.DonemID    = i.DonemID;
                        if (i.OgrenciIDListe != null)
                        {
                            m.OgrenciIDListe = i.OgrenciIDListe.Split(',');
                        }
                        m.OgretmenID = i.OgretmenID;
                        m.OkulID     = i.OkulID;
                        m.Sinif      = i.Sinif;
                        m.Sube       = i.Sube;
                        m.Tarih      = i.Tarih;
                        m.YoklamaID  = i.YoklamaID;
                        YoklamaListe.Add(m);
                    }
                }
                ViewData["Yoklama"] = YoklamaListe;
                ViewBag.Sinif       = Sinif;
                ViewBag.Sube        = Sube;
                ViewBag.Tarih       = Tarih;
            }
            ViewBag.SecimVarmi = secimyapildimi;
            return(View(SinifSube));
        }
        public JsonResult YoklamaKaydet(YoklamaViewModel model)
        {
            JsonResultModel jmodel = new JsonResultModel();

            try
            {
                Donemler          d        = donemrepo.GetByFilter(a => a.AktifMi == true);
                Ogretmenler       ogretmen = ogretmenrepo.Get(Convert.ToInt32(Session["OgretmenID"].ToString()));
                List <Yoklamalar> yoklist  = yoklamarepo.GetByFilterList(a => a.AktifMi == true && a.DersGrupID == model.DersGrupID && a.DonemID == d.DonemID && a.OkulID == ogretmen.OkulID && a.Sinif == model.Sinif && a.Sube == model.Sube).OrderByDescending(a => a.YoklamaID).ToList();
                Yoklamalar        varmi    = (from i in yoklist
                                              where Convert.ToDateTime(i.Tarih).Date == Convert.ToDateTime(model.Tarih).Date
                                              select i).FirstOrDefault();

                bool durum = false;
                if (varmi != null)
                {
                    DateTime tarih1 = (DateTime)varmi.Tarih;
                    DateTime tarih2 = (DateTime)model.Tarih;
                    if (tarih1.Date == tarih2.Date)
                    {
                        durum = true;
                    }
                    else
                    {
                        durum = false;
                    }
                }
                if (durum == false)
                {
                    Yoklamalar y          = new Yoklamalar();
                    string[]   ogridliste = model.OgrenciIDListe;
                    if (model.OgrenciIDListe != null)
                    {
                        for (int i = 0; i < ogridliste.Length; i++)
                        {
                            y.OgrenciIDListe += ogridliste[i];
                            if (i + 1 < ogridliste.Length)
                            {
                                y.OgrenciIDListe += ",";
                            }
                        }
                    }
                    y.AktifMi    = true;
                    y.DersGrupID = model.DersGrupID;
                    y.DersID     = model.DersID;
                    y.DonemID    = d.DonemID;
                    y.OgretmenID = ogretmen.OgretmenID;
                    y.OkulID     = ogretmen.OkulID;
                    y.Sinif      = model.Sinif;
                    y.Sube       = model.Sube;
                    y.Tarih      = model.Tarih;
                    yoklamarepo.Add(y);
                    jmodel.IsSuccess   = true;
                    jmodel.UserMessage = "Yoklama alınmıştır.";
                }
                else
                {
                    jmodel.IsSuccess   = false;
                    jmodel.UserMessage = varmi.Tarih + " tarihinde ," + varmi.Sinif + "/" + varmi.Sube + " sınıfı " + varmi.Dersler.DersAdi + " dersine ait " + varmi.DersGruplari.DersGrupAdi + "  saati için zaten yoklama alınmış.";
                }
            }
            catch (Exception)
            {
                jmodel.IsSuccess   = false;
                jmodel.UserMessage = "Yoklama alırken bir sorunla karşılaştık. Lütfen daha sonra tekrar deneyiniz.";
            }

            return(Json(jmodel, JsonRequestBehavior.AllowGet));
        }