public ActionResult EczanelerDdlPartialView(int nobetGrupId = 0) { var ustGrupSession = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var eczaneler = _eczaneService.GetDetaylar(ustGrupSession.Id).Select(s => s.Id).ToList(); var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Where(w => w.NobetGrupId == nobetGrupId || nobetGrupId == 0) .Select(s => new MyDrop { Id = s.EczaneId, Value = $"{s.EczaneAdi}, {s.NobetGrupAdi}" }).Distinct() .OrderBy(o => o.Value).ToList(); ViewBag.EczaneId = new SelectList(items: eczaneNobetGruplar, dataValueField: "Id", dataTextField: "Value"); return(PartialView(eczaneNobetGruplar)); }
// GET: EczaneNobet/EczaneNobetSanalSonuc/Create public ActionResult Create() { var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id); var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler.Select(s => s.Id).ToList()) .OrderBy(s => s.EczaneAdi).ThenBy(t => t.NobetGrupAdi) .Select(s => new MyDrop { Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }); ViewBag.EczaneNobetGrupId = new SelectList(eczaneNobetGruplar, "Id", "Value"); return(View()); }
public ActionResult GorselSonuclar() { var user = _userService.GetByUserName(User.Identity.Name); var nobetUstGrupId = _nobetUstGrupService.GetListByUser(user).Select(r => r.Id).FirstOrDefault(); var yetkiliEczaneler = _eczaneService.GetListByUser(user).Select(n => n.Id).ToList(); var demoSonuclar = _eczaneNobetSonucDemoService.GetDetaylar(nobetUstGrupId); var nobetGunKurallar = _nobetGunKuralService.GetList(); var eczaneler = _eczaneNobetGrupService.GetDetaylarByEczaneIdList(yetkiliEczaneler) //.Where(w => yetkiliEczaneler.Contains(w.EczaneId)) .Select(s => new { s.EczaneId, EczaneGrupAdi = $"{s.EczaneAdi}, {s.NobetGrupId}" }) .Distinct().OrderBy(s => s.EczaneGrupAdi).ToList(); var eczaneGruplar = _eczaneGrupService.GetDetaylar() .Where(w => yetkiliEczaneler.Contains(w.EczaneId)).ToList(); var eczaneGrupNodes = _eczaneGrupService.GetNodes() .Where(s => eczaneGruplar.Select(w => w.EczaneId).Contains(s.Id)).ToList(); var eczaneGrupEdges = _eczaneGrupService.GetEdges() .Where(s => nobetUstGrupId == s.NobetUstGrupId).ToList(); var yillar = demoSonuclar.Select(s => s.Tarih.Year).Distinct().ToList(); var versiyonlar = demoSonuclar.Select(s => s.NobetSonucDemoTipId).Distinct().ToList(); var aylar = _takvimService.GetAylar().ToList(); var Frekanslar = new List <int> { 1, 2, 3, 4, 5 }; var demoTipler = _nobetSonucDemoTipService.GetList() .Where(w => versiyonlar.Contains(w.Id)) .Select(s => new MyDrop { Id = s.Id, Value = s.Adi }); ViewBag.eczaneId = new SelectList(eczaneler, "EczaneId", "EczaneGrupAdi"); //ViewBag.yilBaslangic = new SelectList(yillar, "Yil"); ViewBag.yilBitis = new SelectList(yillar, "Yil"); //ViewBag.ayBaslangic = new SelectList(aylar, "Id", "Value"); ViewBag.Aylar = new SelectList(aylar, "Id", "Value"); var ay = 1; var frekans = 1; var versiyon = demoTipler.Select(s => s.Id).FirstOrDefault(); ViewBag.ayBitis = ay; ViewBag.frekansDefault = frekans; ViewBag.versiyonDefault = versiyon; ViewBag.Frekans = new SelectList(Frekanslar, null, null, frekans); //ViewBag.Versiyon = new SelectList(versiyonlar, null, null, versiyon); ViewBag.Versiyonlar = new SelectList(demoTipler, "Id", "Value", versiyon); int ayniGuneDenkGelenNobetSayisi = frekans; //var eczaneNobetSonucNodes = _eczaneNobetSonucDemoService.GetEczaneNobetSonucDemoNodes(2018, ay, versiyon, yetkiliEczaneler); //var eczaneNobetSonucEdges = _eczaneNobetSonucDemoService.GetEczaneNobetSonucDemoEdges(2018, ay, ayniGuneDenkGelenNobetSayisi, versiyon, nobetUstGrupId); var model = new EczaneNobetGorselSonucViewModel() { EczaneNobetSonucNodes = new List <EczaneNobetSonucNode>(), //eczaneNobetSonucNodes, EczaneNobetSonucEdges = new List <EczaneNobetSonucEdge>(), //eczaneNobetSonucEdges, EczaneGrupNodes = eczaneGrupNodes, EczaneGrupEdges = eczaneGrupEdges }; return(View(model)); }
public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,IstekId,BaslangicTarihi,BitisTarihi,HaftaninGunu,Aciklama,YinedeEklensinMi")] EczaneNobetIstekCoklu eczaneNobetIstekCoklu) { var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylar(eczaneNobetIstekCoklu.EczaneNobetGrupId); var nobetUstGrupId = eczaneNobetGruplar.Select(s => s.NobetUstGrupId).Distinct().SingleOrDefault(); var tarihler = _takvimService.GetList() .Select(s => new MyDrop { Id = s.Id, Value = s.Tarih.ToLongDateString() }); if (eczaneNobetIstekCoklu.HaftaninGunu == null) { eczaneNobetIstekCoklu.HaftaninGunu = new int[1] { 0 }; } var haftaninGunu = eczaneNobetIstekCoklu.HaftaninGunu; var bayramlar = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi, eczaneNobetGruplar.Select(s => s.NobetGrupId).ToList(), 1) .Where(w => eczaneNobetIstekCoklu.HaftaninGunu.Contains(w.NobetGunKuralId)).ToList(); var tarihAraligi = _takvimService.GetDetaylar(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi); if (eczaneNobetIstekCoklu.HaftaninGunu.Count() > 0) { tarihAraligi = tarihAraligi.Where(w => eczaneNobetIstekCoklu.HaftaninGunu.Contains(w.HaftaninGunu) || bayramlar.Select(s => s.TakvimId).Contains(w.TakvimId)).ToList(); } var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList(); var baslangicTarihi = _takvimService.GetByTarih(eczaneNobetIstekCoklu.BaslangicTarihi); var bitisTarihi = _takvimService.GetByTarih(eczaneNobetIstekCoklu.BitisTarihi); ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Select(s => new MyDrop { Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetIstekCoklu.EczaneNobetGrupId); ViewBag.IstekId = new SelectList(_istekService.GetList(), "Id", "Adi", eczaneNobetIstekCoklu.IstekId); ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetIstekCoklu.HaftaninGunu); ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetIstekCoklu.HaftaninGunu.Count(); //seçilen tarih aralığı takvimde olmalıdır. if (baslangicTarihi == null || bitisTarihi == null) { var minYil = _takvimService.GetList().Min(x => x.Tarih.Year); var maxYil = _takvimService.GetList().Max(x => x.Tarih.Year); ViewBag.minYil = minYil; ViewBag.maxYil = maxYil; ViewBag.Mesaj = $"Başlangıç-Bitiş tarih aralığı enaz {minYil} ila ençok {maxYil} arasında olmalıdır..."; return(View(eczaneNobetIstekCoklu)); } //Başlangıç tarihi Bitiş tarihinden büyük olamaz. if (baslangicTarihi.Id > bitisTarihi.Id) { ViewBag.Mesaj2 = $"Başlangıç tarihi ({baslangicTarihi.Tarih}) Bitiş tarihinden ({bitisTarihi.Tarih}) büyük olamaz..."; return(View(eczaneNobetIstekCoklu)); } var eczaneNobetIstekler = new List <EczaneNobetIstek>(); foreach (var eczaneNobetGrupId in eczaneNobetIstekCoklu.EczaneNobetGrupId) { foreach (var item in tarihAraligi) { eczaneNobetIstekler.Add(new EczaneNobetIstek { IstekId = eczaneNobetIstekCoklu.IstekId, EczaneNobetGrupId = eczaneNobetGrupId, TakvimId = item.TakvimId, Aciklama = eczaneNobetIstekCoklu.Aciklama, }); } } var eklenenEczaneler = new List <EczaneNobetIstekDetay>(); if (ModelState.IsValid && eczaneNobetIstekler.Count > 0) { var istekGirilenEczaneninEsOlduguEczaneler = _eczaneGrupService.GetDetaylarEczaneninEsOlduguEczaneler(eczaneNobetGruplar.Select(s => s.Id).ToList()); var istekGirilenTarihtekiEczaneler = _eczaneNobetIstekService.GetDetaylarByNobetUstGrupId(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi, nobetUstGrupId); var istekGirilenTarihtekiEsgrupOlduguEczaneler = _eczaneNobetIstekService.GetDetaylar(istekGirilenTarihtekiEczaneler, istekGirilenEczaneninEsOlduguEczaneler); var istekGirilenTarihtekiEsgrupOlduguEczanelerTumu = istekGirilenEczaneninEsOlduguEczaneler .Union(istekGirilenTarihtekiEsgrupOlduguEczaneler) .OrderBy(o => o.EczaneGrupTanimId) .ThenBy(o => o.EczaneAdi) .ToList(); var istekGirilenTarihtekiEsgrupOlduguEczaneSayisi = istekGirilenTarihtekiEsgrupOlduguEczanelerTumu.Count; if (istekGirilenTarihtekiEsgrupOlduguEczaneSayisi > 0) { ViewBag.IstekGirilenTarihtekiEsgrupOlduguEczaneler = istekGirilenTarihtekiEsgrupOlduguEczanelerTumu; return(View(eczaneNobetIstekCoklu)); } else { try { _eczaneNobetIstekService.CokluEkle(eczaneNobetIstekler); foreach (var item in eczaneNobetIstekler) { eklenenEczaneler.Add(new EczaneNobetIstekDetay { EczaneAdi = _eczaneNobetGrupService.GetDetayById(item.EczaneNobetGrupId).EczaneAdi, Tarih = _takvimService.GetById(item.TakvimId).Tarih }); } } catch (DbUpdateException ex) { var hata = ex.InnerException.ToString(); string[] dublicateHata = { "Cannot insert dublicate row in object", "with unique index" }; var dublicateRowHatasiMi = dublicateHata.Any(h => hata.Contains(h)); if (dublicateRowHatasiMi) { throw new Exception("<strong>Bir eczaneye aynı gün için iki istek kaydı eklenemez...</strong>"); } throw ex; } catch (Exception ex) { throw ex; } } TempData["EklenenIstekSayisi"] = eklenenEczaneler.Count; TempData["EklenenIstekler"] = eklenenEczaneler; return(View(eczaneNobetIstekCoklu)); } else { //bayram ve hafta günleri kontrol if (bayramlar.Count == 0) { if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 8 && w == 9).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun bayram bulunmamaktadır."; } else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 8).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun dini bayram bulunmamaktadır."; } else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 9).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun milli bayram bulunmamaktadır."; } else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w <= 7).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun hafta günü bulunmamaktadır."; } } else { if (eczaneNobetIstekCoklu.HaftaninGunu.Count() == 1) { ViewBag.MesajBayram = $"Seçilen hafta gününe uygun tarih aralığı bulunmamaktadır."; } else { ViewBag.MesajBayram = $"Seçilen hafta günlerine uygun tarih aralığı bulunmamaktadır."; } } } return(View(eczaneNobetIstekCoklu)); }
public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,MazeretId,BaslangicTarihi,BitisTarihi,HaftaninGunu,Aciklama")] EczaneNobetMazeretCoklu eczaneNobetMazeretCoklu) { //var user = _userService.GetByUserName(User.Identity.Name); var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); //var haftaninGunleri = Enum.GetValues(typeof(DayOfWeek)).Cast<DayOfWeek>().ToList(); if (eczaneNobetMazeretCoklu.HaftaninGunu == null) { eczaneNobetMazeretCoklu.HaftaninGunu = new int[1] { 0 }; } var haftaninGunu = eczaneNobetMazeretCoklu.HaftaninGunu; var eczaneNobetGrup = _eczaneNobetGrupService.GetDetaylar(eczaneNobetMazeretCoklu.EczaneNobetGrupId); var bayramlar = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(eczaneNobetMazeretCoklu.BaslangicTarihi, eczaneNobetMazeretCoklu.BitisTarihi, eczaneNobetGrup.Select(s => s.NobetGrupId).ToList(), 1) .Where(w => eczaneNobetMazeretCoklu.HaftaninGunu.Contains(w.NobetGunKuralId)).ToList(); var tarihAraligi = _takvimService.GetDetaylar(eczaneNobetMazeretCoklu.BaslangicTarihi, eczaneNobetMazeretCoklu.BitisTarihi); if (eczaneNobetMazeretCoklu.HaftaninGunu.Count() > 0) { tarihAraligi = tarihAraligi.Where(w => eczaneNobetMazeretCoklu.HaftaninGunu.Contains(w.HaftaninGunu) || bayramlar.Select(s => s.TakvimId).Contains(w.TakvimId)).ToList(); } var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList(); var baslangicTarihi = _takvimService.GetByTarih(eczaneNobetMazeretCoklu.BaslangicTarihi); var bitisTarihi = _takvimService.GetByTarih(eczaneNobetMazeretCoklu.BitisTarihi); //seçilen tarih aralığı takvimde olmalıdır. if (baslangicTarihi == null || bitisTarihi == null) { var minYil = _takvimService.GetList().Min(x => x.Tarih.Year); var maxYil = _takvimService.GetList().Max(x => x.Tarih.Year); ViewBag.minYil = minYil; ViewBag.maxYil = maxYil; ViewBag.Mesaj = $"Başlangıç-Bitiş tarih aralığı enaz {minYil} ila ençok {maxYil} arasında olmalıdır..."; ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Select(s => new MyDrop { Id = s.Id, Value = $"({s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId); ViewBag.MazeretId = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId); ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu); return(View(eczaneNobetMazeretCoklu)); } //Başlangıç tarihi Bitiş tarihinden büyük olamaz. if (baslangicTarihi.Id > bitisTarihi.Id) { ViewBag.Mesaj2 = $"Başlangıç tarihi ({baslangicTarihi.Tarih}) Bitiş tarihinden ({bitisTarihi.Tarih}) büyük olamaz..."; ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Select(s => new MyDrop { Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId); ViewBag.MazeretId = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId); ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu); return(View(eczaneNobetMazeretCoklu)); } var eczaneNobetMazeretler = new List <EczaneNobetMazeret>(); foreach (var eczaneNobetGrupId in eczaneNobetMazeretCoklu.EczaneNobetGrupId) { foreach (var item in tarihAraligi) { eczaneNobetMazeretler.Add(new EczaneNobetMazeret { MazeretId = eczaneNobetMazeretCoklu.MazeretId, EczaneNobetGrupId = eczaneNobetGrupId,// eczaneNobetMazeretCoklu.EczaneNobetGrupId, TakvimId = item.TakvimId, Aciklama = eczaneNobetMazeretCoklu.Aciklama, }); } } var eklenecekMazeretSayisi = eczaneNobetMazeretler.Count; if (ModelState.IsValid && eklenecekMazeretSayisi > 0) { try { _eczaneNobetMazeretService.CokluEkle(eczaneNobetMazeretler); } catch (DbUpdateException ex) { var hata = ex.InnerException.ToString(); string[] dublicateHata = { "Cannot insert dublicate row in object", "with unique index" }; var dublicateRowHatasiMi = dublicateHata.Any(h => hata.Contains(h)); if (dublicateRowHatasiMi) { throw new Exception("<strong>Bir eczaneye aynı gün için iki mazeret kaydı eklenemez...</strong>"); } throw ex; } catch (Exception ex) { throw ex; } TempData["EklenenMazeretSayisi"] = eklenecekMazeretSayisi; ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Select(s => new MyDrop { Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId); ViewBag.MazeretId = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId); ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu); ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetMazeretCoklu.HaftaninGunu.Count(); //return RedirectToAction("Index"); return(View(eczaneNobetMazeretCoklu)); } else { ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler) .Select(s => new MyDrop { Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}" }).OrderBy(s => s.Value), "Id", "Value"); ViewBag.MazeretId = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId); ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value"); ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetMazeretCoklu.HaftaninGunu.Count(); //bayram ve hafta günleri kontrol if (bayramlar.Count == 0) { if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 8 && w == 9).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun bayram bulunmamaktadır."; } else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 8).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun dini bayram bulunmamaktadır."; } else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 9).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun milli bayram bulunmamaktadır."; } else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w <= 7).Count() > 0) { ViewBag.MesajBayram = $"Girilen tarih aralığına uygun hafta günü bulunmamaktadır."; } } else { if (eczaneNobetMazeretCoklu.HaftaninGunu.Count() == 1) { ViewBag.MesajBayram = $"Seçilen hafta gününe uygun tarih aralığı bulunmamaktadır."; } else { ViewBag.MesajBayram = $"Seçilen hafta günlerine uygun tarih aralığı bulunmamaktadır."; } } } return(View(eczaneNobetMazeretCoklu)); }