public ActionResult MasaSec(Guid id) { MasaSecViewModel model = new MasaSecViewModel(); MasaTemizle(); MultiMasaKullaniciTemizle(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Konu konu = ent.Konu.FirstOrDefault(p => p.Id == id); model.KonuId = id; model.masalar = ent.Masa .Where(p => p.KonuId == id && p.Tip == (int)EnmMasaTipi.MultiPlayerMasa && !p.BitisTarihi.HasValue ) .Select(p => new MasaModel { Id = p.Id, masa = p, KisiSayisi = ent.MasaKullanici .Where(t => t.MasaId == p.Id) .Count() }) .ToList(); } return(View(model)); }
public ActionResult MultiKonu() { MasaTemizle(); MultiMasaKullaniciTemizle(); MultiKonuViewModel model = new MultiKonuViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model.konular = ent.Konu .Where(p => p.Soru.Count() > 9) .OrderBy(p => p.Ad) .ToList() .Select(p => new KonuKisiModel { konu = p, KisiSayisi = ent.MasaKullanici .Where(t => t.Masa.Tip == (int)EnmMasaTipi.MultiPlayerMasa && !t.Masa.BitisTarihi.HasValue && t.Masa.KonuId == p.Id ).Count() }) .ToList(); } return(View(model)); }
public ActionResult MultiDevam() { MultiDevamViewModel model = new MultiDevamViewModel(); Guid masaId = Session[SessionNames.MASA].ToString().toGuid(); Guid userId = User.Identity.GetUserId().toGuid(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var masa = ent.Masa.FirstOrDefault(p => p.Id == masaId); var masaKullanici = masa.MasaKullanici.Where(p => p.KullaniciId == userId).FirstOrDefault(); model.YarismaBasladimi = masa.BaslangicTarihi.HasValue; if (model.YarismaBasladimi) { var sonSoru = masaKullanici.Yarisma.FirstOrDefault() .YarismaSoru.OrderByDescending(p => p.SiraNo) .FirstOrDefault(); if (sonSoru != null) { if (sonSoru.Cevap != null) { model.OncekiSoru = sonSoru; model.oncekiCevapDogrumu = sonSoru.Cevap.Dogrumu; } } } var aktifMasa = Utils.AktifMasa; ViewBag.seconds = (int)((aktifMasa.BaslangicTarihi.Value.AddMinutes(aktifMasa.SureDk) - DateTime.Now).TotalSeconds); } return(View(model)); }
public ActionResult Soru(SoruViewModel model) { Yarisma quiz = Session[SessionNames.QUIZ] as Yarisma; if (quiz.BaslangicTarihi.AddMinutes(quiz.SureDk.Value) < DateTime.Now) { return(RedirectToAction("Bitir")); } using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var qs = ent.YarismaSoru .Where(p => p.YarismaId == quiz.Id && p.SiraNo == model.SiraNo) .FirstOrDefault(); qs.CevapId = model.cevapId; ent.SaveChanges(); } if (model.SiraNo >= quiz.SoruSayisi) { return(RedirectToAction("Bitir")); } return(RedirectToAction("Soru", new { id = model.SiraNo + 1 })); }
public ActionResult Index() { HomeIndexViewModel2 model = new HomeIndexViewModel2(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model.multi = ent.VKullaniciPuanTipli .Where(p => p.Tip == (int)EnmMasaTipi.MultiPlayerMasa) .OrderByDescending(p => p.PUAN) .Take(5) .Select(p => new HomeIndexViewModel1 { Ad = p.Ad, Soyad = p.Soyad, Puan = p.PUAN.Value, }).ToList(); model.single = ent.VKullaniciPuanTipli .Where(p => p.Tip == (int)EnmMasaTipi.SinglePlaeyerMasa) .OrderByDescending(p => p.PUAN) .Take(5) .Select(p => new HomeIndexViewModel1 { Ad = p.Ad, Soyad = p.Soyad, Puan = p.PUAN.Value, }).ToList(); } return(View(model)); }
public ActionResult MultiBitir() { MultiBitirViewModel model = new MultiBitirViewModel(); if (Session[SessionNames.MASA] == null) { return(Content("Bitmis")); } Guid masaId = Session[SessionNames.MASA].ToString().toGuid(); Guid userId = User.Identity.GetUserId().toGuid(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Masa masa = ent.Masa.Where(p => p.Id == masaId).FirstOrDefault(); Yarisma yarisma = masa.MasaKullanici .Where(p => p.KullaniciId == userId) .FirstOrDefault() .Yarisma.FirstOrDefault(); int?toplamPuan = ent.YarismaSoru .Where(p => p.Yarisma.MasaKullanici.KullaniciId == userId) .Where(p => p.Yarisma.BitisTarihi.HasValue) .Sum(p => p.Puan); int?yarismaPuan = ent.YarismaSoru .Where(p => p.Yarisma.MasaKullanici.KullaniciId == userId) .Where(p => p.YarismaId == yarisma.Id) .Sum(p => p.Puan); model.toplam = yarisma.SoruSayisi; model.cevaplanan = yarisma.YarismaSoru.Where(p => p.CevapId.HasValue).Count(); model.dogruSayisi = 0; model.yanlisSayisi = 0; model.yarismadanKazandiPuan = yarismaPuan.HasValue?yarismaPuan.Value:0; model.toplamPuan = toplamPuan.HasValue ? toplamPuan.Value : 0; foreach (var item in yarisma.YarismaSoru) { if (item.CevapId.HasValue) { if (item.Cevap.Dogrumu) { model.dogruSayisi++; } else { model.yanlisSayisi++; } } } masa.BitisTarihi = DateTime.Now; yarisma.BitisTarihi = masa.BitisTarihi; ent.SaveChanges(); } return(View(model)); }
private void MasaTemizle() { using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { // kullanilmayan masalar temizlenir var masalar = ent.Masa .Where(p => p.MasaKullanici.Count() == 0); ent.Masa.RemoveRange(masalar); ent.SaveChanges(); // biten masalar ve yarismalari guncellenir var mbiten = ent.Masa .Where(p => p.BaslangicTarihi.HasValue && !p.BitisTarihi.HasValue) .Where(p => p.MasaKullanici.Count() > 1) .Where(p => p.MasaKullanici.Any(t => t.Yarisma.Count() > 0)) .ToList(); foreach (var item in mbiten) { DateTime bitisTarihi = item.BaslangicTarihi.Value.AddMinutes(item.SureDk); if (bitisTarihi < DateTime.Now) { item.BitisTarihi = bitisTarihi; } var yarismalar = ent.Yarisma .Where(p => p.MasaKullanici.MasaId == item.Id) .ToList(); foreach (var yitem in yarismalar) { yitem.BitisTarihi = bitisTarihi; } } ent.SaveChanges(); } }
public static string getAyar(string ayarAdi) { using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { } return(string.Empty); }
public ActionResult KonuSonuc(Guid id) { KonuSonucViewModel ksvm = new KonuSonucViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { ksvm.konu = ent.Konu.Where(p => p.Id == id).FirstOrDefault(); var yarismalar = ent.Yarisma .Where(p => p.MasaKullanici.Masa.KonuId == ksvm.konu.Id) .ToList(); foreach (var yarisma in yarismalar) { KonuSonucDetayViewModel detay = new KonuSonucDetayViewModel(); detay.yarisma = yarisma; detay.Tip = yarisma.MasaKullanici.Masa.Tip == (int)EnmMasaTipi.SinglePlaeyerMasa ? "Single" : "Multi"; string kullaniciId = yarisma.MasaKullanici.KullaniciId.ToString(); detay.user = ent.AspNetUsers .Where(p => p.Id == kullaniciId) .FirstOrDefault(); detay.kullanici = ent.Kullanici .Where(p => p.Id == yarisma.MasaKullanici.KullaniciId) .FirstOrDefault(); var sorular = ent.YarismaSoru .Where(p => p.YarismaId == yarisma.Id) .ToList(); detay.cevaplanan = 0; detay.dogru = 0; detay.yanlis = 0; foreach (var soru in sorular) { if (soru.CevapId != null) { detay.cevaplanan++; var cevap = ent.Cevap.Where(p => p.Id == soru.CevapId).FirstOrDefault(); if (cevap.Dogrumu) { detay.dogru++; } else { detay.yanlis++; } } } ksvm.detaylar.Add(detay); } } return(View(ksvm)); }
public override string[] GetAllRoles() { string[] roles; using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { roles = ent.AspNetRoles.Select(p => p.Name).ToArray(); } return(roles); }
private void masayaSoruEkle(BilgiYarismasiEntities2 ent, Masa masa) { var masaKullanicilar = masa.MasaKullanici.Where(p => p.Tip != (int)enmMasaKullaniciTipi.Izleyici).ToList(); var eskiSorular = masa.MasaKullanici.FirstOrDefault().Yarisma.FirstOrDefault().YarismaSoru .Select(p => p.SoruId) .ToList(); var yeniSoruId = masa.Konu.Soru .Where(p => !eskiSorular.Any(t => t == p.Id)) .OrderBy(p => Guid.NewGuid()).FirstOrDefault().Id; foreach (var mitem in masaKullanicilar) { Yarisma yarisma = mitem.Yarisma.FirstOrDefault(); YarismaSoru yarismaSoru = new YarismaSoru(); yarismaSoru.Id = Guid.NewGuid(); yarismaSoru.SiraNo = yarisma.YarismaSoru.Count() + 1; yarismaSoru.SoruId = yeniSoruId; yarismaSoru.YarismaId = yarisma.Id; if (yarisma.MasaKullanici.Masa.Tip == (int)EnmMasaTipi.MultiPlayerMasa) { yarismaSoru.GosterimTarihi = DateTime.Now.AddSeconds(2); } ent.YarismaSoru.Add(yarismaSoru); var mDogruCevap = yarismaSoru.Soru.Cevap.Where(p => p.Dogrumu).FirstOrDefault(); //yarismaSoru.CevapId = mDogruCevap.Id; var cevaplar = yarismaSoru.Soru.Cevap .Where(p => !p.Dogrumu) .OrderBy(p => Guid.NewGuid()) .Take(yarismaSoru.Soru.SecenekSayisi.HasValue ? yarismaSoru.Soru.SecenekSayisi.Value - 1 : 3) .ToList(); cevaplar.Add(mDogruCevap); cevaplar = cevaplar.OrderBy(p => Guid.NewGuid()).ToList(); foreach (var cevap in cevaplar) { YarismaSoruCevap yarismaSoruCevap = new YarismaSoruCevap(); yarismaSoruCevap.CevapId = cevap.Id; yarismaSoruCevap.Id = Guid.NewGuid(); yarismaSoruCevap.YarismaSoruId = yarismaSoru.Id; ent.YarismaSoruCevap.Add(yarismaSoruCevap); } yarisma.SoruSayisi++; ent.SaveChanges(); } }
public ActionResult KullaniciSonuc(Guid id) { KullaniciSonucViewModel ksvm = new KullaniciSonucViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { string kullaniciId = id.ToString(); ksvm.kullanici = ent.Kullanici.Where(p => p.Id == id).FirstOrDefault(); ksvm.user = ent.AspNetUsers.Where(p => p.Id == kullaniciId).FirstOrDefault(); var yarismalar = ent.Yarisma .Where(p => p.MasaKullanici.KullaniciId == ksvm.kullanici.Id) .OrderBy(p => p.BaslangicTarihi) .ToList(); foreach (var yarisma in yarismalar) { KullaniciSonucDetayViewModel detay = new KullaniciSonucDetayViewModel(); detay.yarisma = yarisma; detay.konu = ent.Konu.Where(p => p.Id == yarisma.MasaKullanici.Masa.KonuId).FirstOrDefault(); var sorular = ent.YarismaSoru .Where(p => p.YarismaId == yarisma.Id) .ToList(); detay.cevaplanan = 0; detay.dogru = 0; detay.yanlis = 0; foreach (var soru in sorular) { if (soru.CevapId != null) { detay.cevaplanan++; var cevap = ent.Cevap.Where(p => p.Id == soru.CevapId).FirstOrDefault(); if (cevap != null) { if (cevap.Dogrumu) { detay.dogru++; } else { detay.yanlis++; } } } } ksvm.detaylar.Add(detay); } } return(View(ksvm)); }
public ActionResult Konu() { List <Konu> model = new List <DAL.Konu>(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model = ent.Konu.OrderBy(p => p.Ad).ToList(); } return(View(model)); }
public ActionResult Kullanici() { List <Kullanici> model = new List <Kullanici>(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model = ent.Kullanici.OrderBy(p => p.Ad).ToList(); } return(View(model)); }
// GET: Yaris public ActionResult Index() { YarisIndexViewModel model = new YarisIndexViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Guid userId = User.Identity.GetUserId().toGuid(); Yarisma sonSingleYarisma = ent.Yarisma .Where(p => p.MasaKullanici.Masa.Tip == (int)EnmMasaTipi.SinglePlaeyerMasa) .Where(p => p.MasaKullanici.KullaniciId == userId) .OrderByDescending(p => p.BaslangicTarihi) .FirstOrDefault(); Yarisma sonMultiYarisma = ent.Yarisma .Where(p => p.MasaKullanici.Masa.Tip == (int)EnmMasaTipi.MultiPlayerMasa) .Where(p => p.MasaKullanici.KullaniciId == userId) .OrderByDescending(p => p.BaslangicTarihi) .FirstOrDefault(); if (sonSingleYarisma == null) { return(View(model)); } List <YarismaSoru> sonSorular = ent.YarismaSoru .Where(p => p.YarismaId == sonSingleYarisma.Id) .ToList(); model.EnSonSinglePuan = sonSorular.Sum(p => p.Puan).HasValue ? sonSorular.Sum(p => p.Puan).Value : 0; var enYuksekSingle = ent.VKullaniciPuan .Where(p => p.KullaniciId == userId) .OrderByDescending(p => p.PUAN) .FirstOrDefault(); model.EnYuksekSinglePuan = enYuksekSingle.PUAN.HasValue ? enYuksekSingle.PUAN.Value : 0; if (sonMultiYarisma != null) { var multiKisiSayisi = ent.YarismaSoru .Where(p => p.YarismaId == sonMultiYarisma.Id) .Sum(p => p.Puan); model.MultiEnsonPuan = multiKisiSayisi.HasValue?multiKisiSayisi.Value:0; var enYuksekMulti = ent.VKullaniciPuanTipli .Where(p => p.KullaniciId == userId && p.Tip == (int)EnmMasaTipi.MultiPlayerMasa) .OrderByDescending(p => p.PUAN) .FirstOrDefault(); model.MultiEnYuksekPuan = enYuksekMulti == null ? 0 : enYuksekMulti.PUAN.HasValue ? enYuksekMulti.PUAN.Value : 0; } } return(View(model)); }
public ActionResult SingleKonu() { SingleKonuViewModel model = new SingleKonuViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model.konular = ent.Konu .Where(p => p.Soru.Count() > 9) .OrderBy(p => p.Ad) .ToList(); } return(View(model)); }
public override string[] GetRolesForUser(string username) { string[] roles = { }; using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var user = ent.AspNetUsers.Where(p => p.UserName == username).FirstOrDefault(); if (user == null) { return(roles); } roles = user.AspNetRoles.Select(p => p.Name).ToArray(); } return(roles); }
public ActionResult getMasaBekle() { Guid masaId = Session[SessionNames.MASA].ToString().toGuid(); Guid userId = User.Identity.GetUserId().toGuid(); MultiMasaKullaniciTemizle(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Masa masa = ent.Masa.FirstOrDefault(p => p.Id == masaId); var masaKullanicilar = ent.MasaKullanici .Where(p => p.MasaId == masaId) .OrderBy(p => p.SiraNo) .ToList(); int mSiraNo = 0; foreach (var item in masaKullanicilar) { mSiraNo++; item.Tip = mSiraNo == 1 ? (int)enmMasaKullaniciTipi.Yonetici : (int)enmMasaKullaniciTipi.Yarismaci; if (mSiraNo > masa.KisiSayisi) { item.Tip = (int)enmMasaKullaniciTipi.Izleyici; } item.SiraNo = mSiraNo; } var masaKullanici = masaKullanicilar.FirstOrDefault(p => p.KullaniciId == userId); masaKullanici.Ping = DateTime.Now; ent.SaveChanges(); if (masaKullanicilar.Count >= masa.KisiSayisi) { return(Content("1")); } StringBuilder sb = new StringBuilder(); int i = 0; foreach (var item in masaKullanicilar) { i++; sb.AppendFormat("{1} nolu yarışmacı yarışmaya katıldı: {0} <br />", item.Kullanici.Nick, i); } return(Content(sb.ToString())); } }
public ActionResult SingleBasla(Guid id) { Session[SessionNames.KONU] = id; using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Konu konu = ent.Konu.Where(p => p.Id == id).FirstOrDefault(); Masa masa = new Masa(); masa.Id = Guid.NewGuid(); masa.KisiSayisi = 1; masa.KonuId = id; masa.SoruSayisi = 0; masa.SureDk = konu.SureDk; masa.Tip = (int)EnmMasaTipi.SinglePlaeyerMasa; masa.KayitTarihi = DateTime.Now; masa.BaslangicTarihi = masa.KayitTarihi; ent.Masa.Add(masa); MasaKullanici masaKullanici = new MasaKullanici(); masaKullanici.Id = Guid.NewGuid(); masaKullanici.KullaniciId = User.Identity.GetUserId().toGuid(); masaKullanici.MasaId = masa.Id; masaKullanici.SiraNo = 1; masaKullanici.Tip = (int)enmMasaKullaniciTipi.Yonetici; masaKullanici.KayitTarihi = DateTime.Now; ent.MasaKullanici.Add(masaKullanici); Yarisma yarisma = new Yarisma(); yarisma.BaslangicTarihi = DateTime.Now; yarisma.Id = Guid.NewGuid(); yarisma.MasaKullaniciId = masaKullanici.Id; yarisma.SoruSayisi = 0; yarisma.SureDk = masa.SureDk; ent.Yarisma.Add(yarisma); ent.SaveChanges(); yarismayaSoruEkle(ent, yarisma); ent.SaveChanges(); Session[SessionNames.MASA] = masa.Id; } return(RedirectToAction("SingleYaris")); }
public ActionResult SingleYaris(SingleYarisViewModel model) { if (model.cevapId == null || model.cevapId == Guid.Empty) { return(RedirectToAction("SingleYaris")); } var aktifMasa = Utils.AktifMasa; if (aktifMasa == null) { return(RedirectToAction("index")); } using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Masa masa = ent.Masa.Where(p => p.Id == aktifMasa.Id).FirstOrDefault(); Yarisma yarisma = masa.MasaKullanici.FirstOrDefault() .Yarisma.OrderBy(p => p.BaslangicTarihi).FirstOrDefault(); YarismaSoru yarismaSoru = yarisma.YarismaSoru.OrderBy(p => p.SiraNo).LastOrDefault(); Cevap cevap = ent.Cevap.Where(p => p.Id == model.cevapId).FirstOrDefault(); if (yarismaSoru.SiraNo != model.SiraNo) { return(RedirectToAction("SingleYaris")); } yarismaSoru.CevapId = model.cevapId; if (cevap.Dogrumu) { yarismaSoru.Puan = YarismaDegerler.BaslangicPuani; } ent.SaveChanges(); if (yarisma.YarismaSoru.Count() >= masa.Konu.Soru.Count()) { return(RedirectToAction("SingleBitir")); } yarismayaSoruEkle(ent, yarisma); ent.SaveChanges(); } return(RedirectToAction("SingleYaris")); }
public ActionResult MasaAc(Guid konuId, int kisiSayisi, int sure, int soruSayisi) { using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Masa masa = new Masa(); masa.KayitTarihi = DateTime.Now; masa.Id = Guid.NewGuid(); masa.KisiSayisi = kisiSayisi; masa.KonuId = konuId; masa.SoruSayisi = soruSayisi; masa.SureDk = sure; masa.Tip = (int)EnmMasaTipi.MultiPlayerMasa; ent.Masa.Add(masa); MasaKullanici masaKullanici = new MasaKullanici(); masaKullanici.Id = Guid.NewGuid(); masaKullanici.KullaniciId = User.Identity.GetUserId().toGuid(); masaKullanici.MasaId = masa.Id; masaKullanici.SiraNo = 1; masaKullanici.Tip = (int)enmMasaKullaniciTipi.Yonetici; masaKullanici.KayitTarihi = DateTime.Now; ent.MasaKullanici.Add(masaKullanici); // diger masalardaki hesaplari cikar List <MasaKullanici> masaKullanicilari = ent.MasaKullanici .Where(p => p.KullaniciId == masaKullanici.KullaniciId && p.Id != masaKullanici.Id && !p.Masa.BaslangicTarihi.HasValue ) .ToList(); foreach (var item in masaKullanicilari) { ent.MasaKullanici.Remove(item); } Session[SessionNames.MASA] = masa.Id; ent.SaveChanges(); return(RedirectToAction("MasaBekle", new { id = masa.Id })); } return(View()); }
public ActionResult Soru(int?id) { SoruViewModel svm = new SoruViewModel(); svm.SiraNo = id.HasValue ? id.Value : 1; Yarisma quiz = Session[SessionNames.QUIZ] as Yarisma; Konu konu = new Konu(); if (quiz.BaslangicTarihi.AddMinutes(quiz.SureDk.Value) < DateTime.Now) { return(RedirectToAction("Bitir")); } using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var qs = ent.YarismaSoru .Where(p => p.YarismaId == quiz.Id && p.SiraNo == svm.SiraNo) .FirstOrDefault(); var soru = ent.Soru .Where(p => p.Id == qs.SoruId) .FirstOrDefault(); svm.Sorusu = soru.Sorusu; var cevaplar = ent.YarismaSoruCevap .Where(p => p.YarismaSoruId == qs.Id) .ToList(); foreach (var cevap in cevaplar) { var cvp = ent.Cevap.Where(p => p.Id == cevap.CevapId).FirstOrDefault(); CevapKisaModel c1 = new CevapKisaModel(); c1.Id = cvp.Id; c1.Cevabi = cvp.Cevabi; svm.cevaplar.Add(c1); } konu = ent.Konu .Where(p => p.Id == quiz.MasaKullaniciId) .FirstOrDefault(); } ViewBag.seconds = (int)((quiz.BaslangicTarihi.AddMinutes(konu.SureDk) - DateTime.Now).TotalSeconds); return(View(svm)); }
public ActionResult Bitir() { IBitis bvm = new BitirViewModel(); Yarisma quiz = Session[SessionNames.QUIZ] as Yarisma; bvm.toplam = quiz.SoruSayisi; using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var q1 = ent.Yarisma.Where(p => p.Id == quiz.Id).FirstOrDefault(); q1.BitisTarihi = DateTime.Now; ent.SaveChanges(); Session[SessionNames.QUIZ] = null; var quizSorulari = ent.YarismaSoru .Where(p => p.YarismaId == quiz.Id) .ToList(); bvm.cevaplanan = 0; bvm.dogruSayisi = 0; bvm.yanlisSayisi = 0; foreach (var quizSorusu in quizSorulari) { if (quizSorusu.CevapId != null) { bvm.cevaplanan++; var cevap = ent.Cevap.Where(p => p.Id == quizSorusu.CevapId).FirstOrDefault(); if (cevap.Dogrumu) { bvm.dogruSayisi++; } else { bvm.yanlisSayisi++; } } } } return(View(bvm)); }
private void MultiMasaKullaniciTemizle() { using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { // eski kullanicilar silinir DateTime kayitKontrol = DateTime.Now.AddMinutes(-1); DateTime pingKontrol = DateTime.Now.AddSeconds(-3); var silinecekler = ent.MasaKullanici .Where(p => p.Masa.Tip == (int)EnmMasaTipi.MultiPlayerMasa && !p.Masa.BaslangicTarihi.HasValue) .Where(p => (!p.Ping.HasValue && p.KayitTarihi < kayitKontrol) || (p.Ping.HasValue && p.Ping.Value < pingKontrol) ); ent.MasaKullanici.RemoveRange(silinecekler); ent.SaveChanges(); } }
public ActionResult SingleBitir() { SingleBitirViewModel model = new SingleBitirViewModel(); var aktifMasa = Utils.AktifMasa; if (aktifMasa == null) { return(RedirectToAction("index")); } using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Masa masa = ent.Masa.Where(p => p.Id == aktifMasa.Id).FirstOrDefault(); Yarisma yarisma = masa.MasaKullanici.FirstOrDefault() .Yarisma.FirstOrDefault(); model.cevaplanan = yarisma.SoruSayisi; model.dogruSayisi = 0; model.yanlisSayisi = 0; foreach (var item in yarisma.YarismaSoru) { if (item.CevapId.HasValue) { if (item.Cevap.Dogrumu) { model.dogruSayisi++; } else { model.yanlisSayisi++; } } } masa.BitisTarihi = DateTime.Now; yarisma.BitisTarihi = masa.BitisTarihi; ent.SaveChanges(); } return(View(model)); }
public ActionResult MultiBasla() { Guid masaId = Session[SessionNames.MASA].ToString().toGuid(); Guid userId = User.Identity.GetUserId().toGuid(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var masa = ent.Masa.FirstOrDefault(p => p.Id == masaId); var adminKullanici = masa.MasaKullanici.Where(p => p.Tip == (int)enmMasaKullaniciTipi.Yonetici).FirstOrDefault(); if (adminKullanici.KullaniciId != userId) { // yarisma baslamismi kontrol edecekler return(RedirectToAction("MultiDevam")); } var masaKullanicilar = masa.MasaKullanici.Where(p => p.Tip != (int)enmMasaKullaniciTipi.Izleyici).ToList(); foreach (var masaKullanici in masaKullanicilar) { Yarisma yarisma = new Yarisma(); yarisma.BaslangicTarihi = DateTime.Now; yarisma.Id = Guid.NewGuid(); yarisma.MasaKullaniciId = masaKullanici.Id; yarisma.SoruSayisi = 0; yarisma.SureDk = masa.SureDk; ent.Yarisma.Add(yarisma); ent.SaveChanges(); } masayaSoruEkle(ent, masa); masa.BaslangicTarihi = DateTime.Now; ent.SaveChanges(); } return(RedirectToAction("MultiDevam")); }
// GET: Quizz public ActionResult Index() { QuizIndexViewModel model = new QuizIndexViewModel(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { model.konular = new LinkedList <Konu>(); var elms = ent.Konu.OrderBy(p => p.Ad).ToList(); foreach (var item in elms) { if (model.konular.Count == 0) { model.konular.AddFirst(item); } else { model.konular.AddAfter(model.konular.Last, item); } } } return(View(model)); }
public ActionResult MasaGir(Guid id) { using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var masa = ent.Masa.FirstOrDefault(p => p.Id == id); MasaKullanici masaKullanici = new MasaKullanici(); masaKullanici.Id = Guid.NewGuid(); masaKullanici.KullaniciId = User.Identity.GetUserId().toGuid(); masaKullanici.MasaId = masa.Id; masaKullanici.SiraNo = 2; masaKullanici.Tip = (int)enmMasaKullaniciTipi.Yarismaci; masaKullanici.KayitTarihi = DateTime.Now; ent.MasaKullanici.Add(masaKullanici); // diger masalardaki hesaplari cikar List <MasaKullanici> masaKullanicilari = ent.MasaKullanici .Where(p => p.KullaniciId == masaKullanici.KullaniciId && p.Id != masaKullanici.Id && !p.Masa.BaslangicTarihi.HasValue ) .ToList(); foreach (var item in masaKullanicilari) { ent.MasaKullanici.Remove(item); } ent.SaveChanges(); Session[SessionNames.MASA] = masa.Id; return(RedirectToAction("MasaBekle", new { id = masa.Id })); } }
public RedirectToRouteResult Basla(Guid id) { Yarisma yarisma = new Yarisma(); using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { var user = ent.AspNetUsers .Where(p => p.UserName == User.Identity.Name) .FirstOrDefault(); var konu = ent.Konu.Where(p => p.Id == id).FirstOrDefault(); yarisma = new Yarisma(); yarisma.BaslangicTarihi = DateTime.Now; yarisma.Id = Guid.NewGuid(); //yarisma.KonuId = id; //yarisma.KullaniciId = new Guid(user.Id); yarisma.SoruSayisi = konu.SoruSayisi; yarisma.SureDk = konu.SureDk; ent.Yarisma.Add(yarisma); var sorular = ent.Soru .Where(p => p.KonuId == konu.Id) .OrderBy(p => Guid.NewGuid()) .Take(yarisma.SoruSayisi) .ToList(); YarismaS qzs = YarismaS.Instance; int soruSiraNo = 0; foreach (var soru in sorular) { soruSiraNo++; var mDogruCevap = ent.Cevap .Where(p => p.SoruId == soru.Id && p.Dogrumu) .FirstOrDefault(); var cevaplar = ent.Cevap .Where(p => p.SoruId == soru.Id && !p.Dogrumu) .OrderBy(p => Guid.NewGuid()) .Take(soru.SecenekSayisi.HasValue ? soru.SecenekSayisi.Value - 1 : 3) .ToList(); cevaplar.Add(mDogruCevap); cevaplar = cevaplar.OrderBy(p => Guid.NewGuid()).ToList(); YarismaSoru qs = new YarismaSoru(); qs.Id = Guid.NewGuid(); qs.YarismaId = yarisma.Id; qs.SoruId = soru.Id; qs.SiraNo = soruSiraNo; ent.YarismaSoru.Add(qs); foreach (var cevap in cevaplar) { YarismaSoruCevap qsc = new YarismaSoruCevap(); qsc.CevapId = cevap.Id; qsc.Id = Guid.NewGuid(); qsc.YarismaSoruId = qs.Id; ent.YarismaSoruCevap.Add(qsc); } } ent.SaveChanges(); Session[SessionNames.QUIZ] = yarisma; } return(RedirectToAction("Soru")); }
public ActionResult MultiYaris(MultiYarisViewModel model) { if (model.cevapId == null || model.cevapId == Guid.Empty) { return(RedirectToAction("MultiDevam")); } var aktifMasa = Utils.AktifMasa; if (aktifMasa == null) { return(RedirectToAction("index")); } using (BilgiYarismasiEntities2 ent = new BilgiYarismasiEntities2()) { Guid userId = User.Identity.GetUserId().toGuid(); Masa masa = ent.Masa.Where(p => p.Id == aktifMasa.Id).FirstOrDefault(); Yarisma yarisma = masa.MasaKullanici .Where(p => p.KullaniciId == userId) .FirstOrDefault() .Yarisma.OrderBy(p => p.BaslangicTarihi).FirstOrDefault(); YarismaSoru yarismaSoru = yarisma.YarismaSoru.OrderBy(p => p.SiraNo).LastOrDefault(); Cevap cevap = ent.Cevap.Where(p => p.Id == model.cevapId).FirstOrDefault(); if (yarismaSoru.SiraNo != model.SiraNo) { return(RedirectToAction("MultiDevam")); } yarismaSoru.CevapId = model.cevapId; if (cevap.Dogrumu) { // onceki dogru cevaplar kontrol edilir var digerDogrular = ent.YarismaSoru .Where(p => p.Yarisma.MasaKullanici.MasaId == masa.Id && p.SoruId == yarismaSoru.SoruId && p.Cevap.Dogrumu ).Count(); yarismaSoru.Puan = Convert.ToInt32(YarismaDegerler.BaslangicPuani * Math.Pow(2, masa.KisiSayisi - digerDogrular - 1)); } else { yarismaSoru.Puan = YarismaDegerler.BaslangicPuani * (-1); } ent.SaveChanges(); if (yarisma.YarismaSoru.Count() >= masa.Konu.Soru.Count()) { return(RedirectToAction("MultiBitir")); } //yarismayaSoruEkle(ent, yarisma); //ent.SaveChanges(); } return(RedirectToAction("MultiDevam")); }