// 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 void PlanlananNobetleriYazdir(EczaneNobetGrup eczaneNobetGrup, EczaneNobetGrupDetay degisecekEczaneNobetGrupOncekiHali)
        {
            #region planlanan nöbet yazdırma seçenekleri

            var eklenenNobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrup.NobetGrupGorevTipId);

            var bitisTarihiDegistiMi = degisecekEczaneNobetGrupOncekiHali.BitisTarihi != eczaneNobetGrup.BitisTarihi;
            //var baslangicTarihiDegistiMi = degisecekEczaneNobetGrupOncekiHali.BaslangicTarihi != eczaneNobetGrup.BaslangicTarihi;

            if (eklenenNobetGrupGorevTip.NobetUstGrupId == 2 &&
                (bitisTarihiDegistiMi
                 //|| baslangicTarihiDegistiMi
                )
                )
            {//antalya'da planlanan nöbetleri yazmak için
             //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 gruptakiEczaneler = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(eczaneNobetGrup.NobetGrupGorevTipId);

                var baslangicTarihi = eczaneNobetGrup.BaslangicTarihi < degisecekEczaneNobetGrupOncekiHali.NobetGrupGorevTipBaslamaTarihi
                    ? degisecekEczaneNobetGrupOncekiHali.NobetGrupGorevTipBaslamaTarihi
                    : eczaneNobetGrup.BaslangicTarihi;

                var baslangicTarihiVarsayilan = baslangicTarihi;

                //if (baslangicTarihiDegistiMi)
                //{
                //    baslangicTarihi = eczaneNobetGrup.BaslangicTarihi < degisecekEczaneNobetGrupOncekiHali.NobetGrupGorevTipBaslamaTarihi
                //        ? degisecekEczaneNobetGrupOncekiHali.NobetGrupGorevTipBaslamaTarihi
                //        : eczaneNobetGrup.BaslangicTarihi;
                //}

                if (bitisTarihiDegistiMi &&
                    EczaneGruptaKapaniyorMu(eczaneNobetGrup.BitisTarihi))
                {
                    baslangicTarihi = (DateTime)eczaneNobetGrup.BitisTarihi;
                }

                var sonTarih = baslangicTarihi.AddYears(1);

                var planlananNobetlerinYazilacagiSonTarih = new DateTime(sonTarih.Year, 12, 31);

                var planlananNobetlerinYazilacagiNobetGrubu = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrup.NobetGrupGorevTipId);

                var nobetUstGrupGunGruplar = _nobetUstGrupGunGrupService.GetDetaylar(degisecekEczaneNobetGrupOncekiHali.NobetUstGrupId)
                                             .OrderBy(o => o.GunGrupId).ToList();

                foreach (var gunGrup in nobetUstGrupGunGruplar)
                {
                    if (EczaneGruptaKapaniyorMu(eczaneNobetGrup.BitisTarihi))
                    {
                        baslangicTarihi = (DateTime)eczaneNobetGrup.BitisTarihi;
                    }
                    else
                    {
                        var planlananSonNobetTarihi = _eczaneNobetSonucPlanlananService.GetSonuclarByEczaneNobetGrupId(eczaneNobetGrup.Id, gunGrup.GunGrupId)
                                                      .Where(w => w.Tarih >= w.NobetGrupGorevTipBaslamaTarihi)
                                                      .OrderByDescending(o => o.Tarih).FirstOrDefault();

                        baslangicTarihi = planlananSonNobetTarihi != null ? planlananSonNobetTarihi.Tarih : baslangicTarihiVarsayilan;
                    }

                    _takvimService.SiraliNobetYazGunGrupBazinda(
                        planlananNobetlerinYazilacagiNobetGrubu,
                        gruptakiEczaneler,
                        baslangicTarihi,
                        planlananNobetlerinYazilacagiSonTarih,
                        gunGrup.GunGrupId);
                }

                #endregion
            }

            #endregion
        }