// GET: EczaneNobet/EczaneNobetGrup/Details/5 public ActionResult Details(int id) { if (id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EczaneNobetGrupDetay eczaneNobetGrup = _eczaneNobetGrupService.GetDetayById(id); if (eczaneNobetGrup == null) { return(HttpNotFound()); } return(View(eczaneNobetGrup)); }
public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,NobetTarihi,Aciklama")] EczaneNobetSanalSonucEkle eczaneNobetSanalSonuc) { if (eczaneNobetSanalSonuc.NobetTarihi == null) { throw new ArgumentNullException("Nöbet tarihi boş bırakılamaz."); } if (ModelState.IsValid) { var user = _userService.GetByUserName(User.Identity.Name); var takvim = _takvimService.GetByTarih(eczaneNobetSanalSonuc.NobetTarihi); var eczane = _eczaneNobetGrupService.GetDetayById(eczaneNobetSanalSonuc.EczaneNobetGrupId); var sonucParametreler = new EczaneNobetSonuc { TakvimId = takvim.Id, NobetGorevTipId = eczane.NobetGorevTipId, EczaneNobetGrupId = eczaneNobetSanalSonuc.EczaneNobetGrupId, //YayimlandiMi = eczaneNobetSanalSonuc.YayimlandiMi }; var sanalSonucParametreler = new EczaneNobetSanalSonuc { //EczaneNobetSonucId = sonuc.Id, KayitTarihi = DateTime.Now, UserId = user.Id, Aciklama = eczaneNobetSanalSonuc.Aciklama }; _eczaneNobetSonucService.InsertSonuclarInsertSanalSonuclar(sonucParametreler, sanalSonucParametreler); return(RedirectToAction("Index")); } 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", eczaneNobetSanalSonuc.EczaneNobetGrupId); return(View(eczaneNobetSanalSonuc)); }
public void IkiliEczaneleriOlustur(int eczaneNobetGrupId1, int eczaneNobetGrupId2) { if (eczaneNobetGrupId1 > 0 && eczaneNobetGrupId2 > 0) { try { _ayniGunTutulanNobetDal.Insert(new AyniGunTutulanNobet { EczaneNobetGrupId1 = eczaneNobetGrupId1, EczaneNobetGrupId2 = eczaneNobetGrupId2, EnSonAyniGunNobetTakvimId = 1 }); } catch (DbUpdateException ex) { var eczane1 = _eczaneNobetGrupService.GetDetayById(eczaneNobetGrupId1); var eczane2 = _eczaneNobetGrupService.GetDetayById(eczaneNobetGrupId2); var hata = ex.InnerException.ToString(); var dublicateHata = new string[2] { "Cannot insert dublicate row in object", "with unique index" }; var dublicateRowHatasiMi = dublicateHata.Any(h => hata.Contains(h)); if (dublicateRowHatasiMi) { throw new Exception($"Mükerrer kayıt (<strong>{eczane1.EczaneAdi} - {eczane2.EczaneAdi} eczaneleri </strong>) eklenemez..."); } throw ex; } catch (Exception ex) { throw ex; } } else { throw new Exception($"eczaneNobetGrupId 0 olamaz (eczaneNobetGrupId1: {eczaneNobetGrupId1}, eczaneNobetGrupId2: {eczaneNobetGrupId2})!"); }; //return ikiliEczane; }
public ActionResult Edit(int id) { if (id < 1) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DebugEczane debugEczane = _debugEczaneService.GetById(id); if (debugEczane == null) { return(HttpNotFound()); } var eczaneNobetGrubu = _eczaneNobetGrupService.GetDetayById(debugEczane.EczaneNobetGrupId); ViewBag.EczaneNobetGrupId = eczaneNobetGrubu; return(View(debugEczane)); }
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)); }
//[HandleException] public ActionResult CreatePartial([Bind(Include = "Id,EczaneNobetGrupId,MazeretId,BaslangicTarihi,BitisTarihi,HaftaninGunu,Aciklama")] EczaneNobetMazeretCoklu eczaneNobetMazeretCoklu) { 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..."; return(PartialView()); } //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(PartialView()); } 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; var eklenenEczaneler = new List <EczaneNobetMazeretDetay>(); if (ModelState.IsValid && eklenecekMazeretSayisi > 0) { try { _eczaneNobetMazeretService.CokluEkle(eczaneNobetMazeretler); foreach (var item in eczaneNobetMazeretler) { var eczane = _eczaneNobetGrupService.GetDetayById(item.EczaneNobetGrupId); eklenenEczaneler.Add(new EczaneNobetMazeretDetay { NobetGorevTipAdi = eczane.NobetGorevTipAdi, EczaneAdi = eczane.EczaneAdi, Tarih = _takvimService.GetById(item.TakvimId).Tarih, Aciklama = item.Aciklama }); } } 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>"); return(PartialView("ErrorDublicateRowPartial")); } //throw ex; } catch (Exception) { return(PartialView("ErrorPartial")); //throw ex; } TempData["EklenenMazeretSayisi"] = eklenenEczaneler.Count; TempData["EklenenMazeretler"] = eklenenEczaneler; ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetMazeretCoklu.HaftaninGunu.Count(); //return RedirectToAction("Index"); return(PartialView()); } else { //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(PartialView()); }