private void NobetGrubunaEczaneleriEkle(EczaneNobetGrupCoklu eczaneNobetGrupCoklu, List <EczaneNobetGrup> eczaneNobetGruplar) { var eklenenNobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); TempData["EklenenEczane"] = $"{eklenenNobetGrupGorevTip.NobetGrupGorevTipAdi} nöbet grubuna {eczaneNobetGrupCoklu.EczaneId.Count()} adet eczane başarılı bir şekilde eklenmiştir."; _eczaneNobetGrupService.CokluEkle(eczaneNobetGruplar); var gruptakiEczaneler = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(eczaneNobetGrupCoklu.NobetGrupGorevTipId); var eczaneIdList = eczaneNobetGruplar.Select(s => s.EczaneId).ToList(); var eczaneNobetGrupDetaylar = _eczaneNobetGrupService.GetDetaylar(eczaneIdList, eczaneNobetGrupCoklu.NobetGrupGorevTipId); if (eklenenNobetGrupGorevTip.NobetUstGrupId == 2) { //antalya'da planlanan nöbetleri yazmak için if (eczaneNobetGrupDetaylar.Count > 0) { //grupta eczaneler var. grup yeni değil. tekli olarak eklenen eczaneler için planlanan nöbetler yeniden yazılacak. #region planlanan nöbetler - sıralı nöbet yazma (gün grubu bazında) var baslangicTarihi = eczaneNobetGrupDetaylar.Min(s => s.BaslangicTarihi); var sonTarih = baslangicTarihi.AddYears(1); var planlananNobetlerinYazilacagiSonTarih = new DateTime(sonTarih.Year, 12, 31); var planlananNobetlerinYazilacagiNobetGrubu = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); _takvimService.SiraliNobetYazGrupBazindaOncekiNobetGrubaGore(planlananNobetlerinYazilacagiNobetGrubu, gruptakiEczaneler, baslangicTarihi, planlananNobetlerinYazilacagiSonTarih); #endregion } else {//gruba ilk kez eczane ekleniyor } } var nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); var nobetUstGrupId = nobetGrupGorevTip.NobetUstGrupId; if (nobetUstGrupId == 1 || //alanya nobetUstGrupId == 3 ||//mersin nobetUstGrupId == 4 ||//giresun nobetUstGrupId == 5 //osmaniye ) { var eklenenIkiliEczaneler = _ayniGunTutulanNobetService.IkiliEczaneleriOlustur(eczaneNobetGrupDetaylar); } }
public ActionResult Create([Bind(Include = "Id,EczaneId,NobetGrupGorevTipId,BaslangicTarihi,BitisTarihi,Aciklama,EnErkenTarihteNobetYazilsinMi")] EczaneNobetGrupCoklu eczaneNobetGrupCoklu) { var eczaneNobetGruplar = new List <EczaneNobetGrup>(); foreach (var eczaneId in eczaneNobetGrupCoklu.EczaneId) { eczaneNobetGruplar.Add(new EczaneNobetGrup { EczaneId = eczaneId, NobetGrupGorevTipId = eczaneNobetGrupCoklu.NobetGrupGorevTipId, BaslangicTarihi = eczaneNobetGrupCoklu.BaslangicTarihi, BitisTarihi = eczaneNobetGrupCoklu.BitisTarihi, Aciklama = eczaneNobetGrupCoklu.Aciklama }); } var eklenecekEczaneSayisi = eczaneNobetGruplar.Count; if (ModelState.IsValid && eklenecekEczaneSayisi > 0) { var eklenenNobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); TempData["EklenenEczane"] = $"{eklenenNobetGrupGorevTip.NobetGrupGorevTipAdi} nöbet grubuna {eczaneNobetGrupCoklu.EczaneId.Count()} adet eczane başarılı bir şekilde eklenmiştir."; _eczaneNobetGrupService.CokluEkle(eczaneNobetGruplar); var gruptakiEczaneler = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(eczaneNobetGrupCoklu.NobetGrupGorevTipId); var eczaneIdList = eczaneNobetGruplar.Select(s => s.EczaneId).ToList(); var eczaneNobetGrupDetaylar = _eczaneNobetGrupService.GetDetaylar(eczaneIdList, eczaneNobetGrupCoklu.NobetGrupGorevTipId); if (eklenenNobetGrupGorevTip.NobetUstGrupId == 2) { //antalya'da planlanan nöbetleri yazmak için if (eczaneNobetGrupDetaylar.Count > 0) { //grupta eczaneler var. grup yeni değil. tekli olarak eklenen eczaneler için planlanan nöbetler yeniden yazılacak. #region planlanan nöbetler - sıralı nöbet yazma (gün grubu bazında) var baslangicTarihi = eczaneNobetGrupDetaylar.Min(s => s.BaslangicTarihi); var sonTarih = baslangicTarihi.AddYears(1); var planlananNobetlerinYazilacagiSonTarih = new DateTime(sonTarih.Year, 12, 31); var planlananNobetlerinYazilacagiNobetGrubu = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); _takvimService.SiraliNobetYazGrupBazindaOncekiNobetGrubaGore(planlananNobetlerinYazilacagiNobetGrubu, gruptakiEczaneler, baslangicTarihi, planlananNobetlerinYazilacagiSonTarih); #endregion } else {//gruba ilk kez eczane ekleniyor } } var nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId); var nobetUstGrupId = nobetGrupGorevTip.NobetUstGrupId; if (nobetUstGrupId == 1 || //alanya nobetUstGrupId == 3 ||//mersin nobetUstGrupId == 4 ||//giresun nobetUstGrupId == 5 //osmaniye ) { var eklenenIkiliEczaneler = _ayniGunTutulanNobetService.IkiliEczaneleriOlustur(eczaneNobetGrupDetaylar); } //else if (nobetUstGrupId == 1) //{ //} ViewBag.EklenenEczaneSayisi = eklenecekEczaneSayisi; ViewBag.EklenenNobetGrupAdi = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId).NobetGrupAdi; return(RedirectToAction("Index")); } var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); //var user = _userService.GetByUserName(User.Identity.Name); //var nobetUstGrup = _nobetUstGrupService.GetListByUser(user).FirstOrDefault(); var nobetGruplar = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id); var eczaneler = _eczaneService.GetList(nobetUstGrup.Id).OrderBy(s => s.Adi).ToList(); ViewBag.EczaneId = new SelectList(eczaneler, "Id", "Adi", eczaneNobetGrupCoklu.EczaneId); ViewBag.NobetGrupGorevTipId = new SelectList(nobetGruplar, "Id", "NobetGrupGorevTipAdi", eczaneNobetGrupCoklu.NobetGrupGorevTipId); return(View()); //eczaneNobetGrup }