示例#1
0
        public IHttpActionResult POST_Ders_Ac(Acilan_Ders dersac)
        {
            if (dersac.ogretmen_id > 0 && dersac.ders_id > 0)
            {
                dersac.durum         = true;
                dersac.acilma_tarihi = DateTime.Now;
                db.Acilan_Ders.Add(dersac);
                db.SaveChanges();
                return(Ok(dersac));
            }

            JObject jo = new JObject();

            jo.Add("durmu", "false");
            return(Ok(jo));
        }
示例#2
0
        public IHttpActionResult GET_Ders_Kapa(int id)
        {
            JObject jo = new JObject();

            if (id > 0 && db.Acilan_Ders.Where(x => x.durum == true).Count() == 1)
            {
                List <Ogrenciler> kacaklar = null;
                var mac_adresleri          = db.Yoklamadakiler.Where(k => k.acilan_ders_id == id).GroupBy(x => x.mac_adres).Select(g => new { adres = g.Key, adet = g.Count() });
                if (mac_adresleri.Count() > 1)
                {
                    if (mac_adresleri.Where(x => x.adet <= 1).Count() > 0)
                    {
                        List <Disardan_Baglanan> disaridan_baglananlar = new List <Disardan_Baglanan>();
                        //burada azınlıkdaki mac adresleri bulunan ve yklamalar tablosunda bulunanaları getiriyor
                        //bu tabloyu hocanın uygulamasınan gönder
                        //azınlıkta olmayanları yoklamasını onayla
                        var kacaklar2 = db.Yoklamadakiler
                                        .Where(x => mac_adresleri.Where(l => l.adet <= 1)
                                               .Any(y => y.adres == x.mac_adres))
                                        .Select(y => new { y.acilan_ders_id, y.ogrenci_id, y.Ogrenciler })
                                        .ToList();
                        kacaklar = kacaklar2.Select(x => x.Ogrenciler).ToList();
                        foreach (var item in kacaklar2)
                        {
                            disaridan_baglananlar.Add(new Disardan_Baglanan {
                                acilan_ders_id = item.acilan_ders_id, ogrenci_id = item.ogrenci_id
                            });
                        }
                        foreach (var item in disaridan_baglananlar)
                        {
                            db.Disardan_Baglanan.Add(item);
                        }
                        db.SaveChanges();
                    }
                }
                List <string>           sadecemacadres       = mac_adresleri.Where(y => y.adet > 1).Select(x => x.adres).ToList();
                var                     dogru_yoklama        = db.Yoklamadakiler.Where(x => sadecemacadres.Any(y => y == x.mac_adres)).Select(y => new { y.ogrenci_id, y.Acilan_Ders.ders_id }).ToList();
                List <Donemlik_Yoklama> yoklama_verisini_yaz = new List <Donemlik_Yoklama>();
                for (int i = 0; i < dogru_yoklama.Count; i++)
                {
                    Donemlik_Yoklama yoklama = new Donemlik_Yoklama();
                    yoklama.ders_id    = dogru_yoklama[i].ders_id;
                    yoklama.ogrenci_id = dogru_yoklama[i].ogrenci_id;
                    yoklama.tarih      = DateTime.Now;
                    yoklama_verisini_yaz.Add(yoklama);
                    db.Donemlik_Yoklama.Add(yoklama_verisini_yaz[i]);
                }

                Acilan_Ders kapa = db.Acilan_Ders.Where(x => x.id == id).Take(1).FirstOrDefault();
                if (kapa != null)
                {
                    kapa.durum          = false;
                    kapa.kapanma_tarihi = DateTime.Now;
                }

                List <Yoklamadakiler> sil = db.Yoklamadakiler.Where(x => x.acilan_ders_id == id).ToList();
                foreach (var item in sil)
                {
                    db.Yoklamadakiler.Remove(item);
                }

                db.SaveChanges();

                jo.Add("durum", "true");
                if (kacaklar != null)
                {
                    return(Ok(kacaklar.Select(x => new { x.id, x.kullanici_adi, x.adi_soyadi, x.bolum, x.fakulte, x.no, x.sinif })));
                }
                else
                {
                    return(Ok(jo));
                }
            }
            jo.Remove("durum");
            jo.Add("durum", "false");
            return(Ok(jo));
        }