Exemplo n.º 1
0
        // GET: EczaneNobet/NobetGrupKural
        public ActionResult Index()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);

            //var nobetUstGrupIdlar = _nobetUstGrupService.GetListByUser(user)
            //    .Select(s => s.Id).ToList();

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupKuralIdlar = _nobetGrupKuralService.GetDetaylarByNobetUstGrup(nobetUstGrup.Id)
                                      .Select(s => s.NobetKuralId).Distinct().ToList();

            var nobetKurallar = _nobetKuralService.GetList()
                                .Where(w => nobetGrupKuralIdlar.Contains(w.Id)).ToList();

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id)
                                       .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}"
            }).ToList();

            ViewBag.NobetKuralId        = new SelectList(nobetKurallar, "Id", "Adi");
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "Value");

            return(View());
        }
Exemplo n.º 2
0
        // GET: EczaneNobet/NobetAltGrup/Create
        public ActionResult Create()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList();

            ViewBag.NobetGrupGorevTipId = new SelectList(_nobetGrupGorevTipService.GetDetaylarByIdList(nobetGrupGorevTipler).Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}"
            }), "Id", "Value");
            return(View());
        }
Exemplo n.º 3
0
        public ActionResult Create()
        {
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);

            var nobetAltGruplar = _nobetAltGrup.GetDetaylar(nobetUstGrup.Id);

            ViewBag.NobetAltGrupId      = new SelectList(nobetAltGruplar, "Id", "NobetAltGrupTanim");
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi");

            return(View());
        }
        // GET: EczaneNobet/NobetGrupGorevTipKisit/Create
        public ActionResult Create()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);

            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = nobetUstGruplar.FirstOrDefault();

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var nobetUstGrupKisitlar = _nobetUstGrupKisitService.GetDetaylar(nobetUstGrup.Id);

            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi");
            ViewBag.NobetUstGrupKisitId = new SelectList(nobetUstGrupKisitlar, "Id", "KisitAdiUzun");
            return(View());
        }
Exemplo n.º 5
0
        // GET: EczaneNobet/EczaneGrupTanim/Create
        public ActionResult Create()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGrupId = nobetUstGruplar.Select(s => s.Id).FirstOrDefault();

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetUstGruplar = _nobetUstGrupService.GetDetaylar(nobetUstGrup.Id);

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);

            ViewBag.NobetUstGrupId       = new SelectList(nobetUstGruplar.Select(s => new { s.Id, s.Adi }), "Id", "Adi");
            ViewBag.EczaneGrupTanimTipId = new SelectList(_eczaneGrupTanimTipService.GetList().Select(s => new { s.Id, s.Adi }), "Id", "Adi");
            ViewBag.NobetGorevTipId      = new SelectList(_nobetGorevTipService.GetList(nobetGrupGorevTipler.Select(s => s.NobetGorevTipId).ToList()), "Id", "Adi");
            return(View());
        }
        public ActionResult KisitAyarla()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var rolIdler = _userService.GetUserRoles(user).OrderBy(s => s.RoleId).Select(u => u.RoleId).ToArray();
            ////var rolId = rolIdler.FirstOrDefault();
            ////ViewBag.RolId = rolId;
            //var nobetUstGrup = nobetUstGruplar.FirstOrDefault();
            var nobetUstGrupDetay = _nobetUstGrupSessionService.GetSession("nobetUstGrup");
            //_nobetUstGrupService.GetDetay(nobetUstGrup.Id);
            var nobetUstGrupKisitSession = _nobetUstGrupKisitSessionService.GetSessionList("nobetUstGrupKisitSession", nobetUstGrupDetay.Id);

            var kisitlar = _nobetUstGrupKisitService.GetDetaylar(nobetUstGrupDetay.Id)
                           //.Where(w => nobetUstGruplar.Contains(w.NobetUstGrupId))
                           .OrderBy(o => o.KisitAdiGosterilen).ToList();

            var nobetGrupGorevTipSayisi = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrupDetay.Id).Count();

            TempData["NobetGrupGorevTipSayisi"] = nobetGrupGorevTipSayisi;

            var model = new KisitAyarlaViewModel
            {
                Kisitlar = kisitlar
            };

            return(View(model));
        }
Exemplo n.º 7
0
        public JsonResult PlanlanaNobetleriYaz(DateTime?baslangicTarihi, DateTime bitisTarihi, int nobetGrupGorevTipId = 0)
        {
            //baslangicTarihi = new DateTime(2018, 6, 1);
            //baslangicTarihi = new DateTime(2019, 3, 13);
            //bitisTarihi = new DateTime(2020, 12, 31);

            //var eczaneNobetGruplarHepsi = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(nobetGrupGorevTipId);//, baslangicTarihi, bitisTarihi);

            //var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetGrupIdListe.ToList());

            //var nobetUstGrupId = nobetGrupGorevTipler.Select(s => s.NobetUstGrupId).FirstOrDefault();

            //_takvimService.SiraliNobetYaz(nobetGrupGorevTipler, eczaneNobetGruplarHepsi, baslangicTarihi, bitisTarihi, nobetUstGrupId);

            //var besinciBolge = nobetGrupGorevTipler.SingleOrDefault(x => x.Id == 8);

            //var nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(nobetGrupGorevTipId);

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id)
                                       .Where(w => w.Id == nobetGrupGorevTipId || nobetGrupGorevTipId == 0).ToList();

            foreach (var nobetGrupGorevTip in nobetGrupGorevTipler)
            {
                var baslamaTarihi = nobetGrupGorevTip.BaslamaTarihi;

                var eczaneNobetGruplarHepsi = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(nobetGrupGorevTip.Id);

                if (baslangicTarihi != null)
                {
                    baslamaTarihi = (DateTime)baslangicTarihi;
                }

                _takvimService.SiraliNobetYazGrupBazinda(
                    nobetGrupGorevTip,
                    eczaneNobetGruplarHepsi,
                    baslamaTarihi,
                    bitisTarihi);
            }

            var jsonResult = Json(nobetGrupGorevTipler.Count(), JsonRequestBehavior.AllowGet);

            //jsonResult.MaxJsonLength = int.MaxValue;

            return(jsonResult);
        }
        // GET: EczaneNobet/NobetGrupGorevTipGunKural
        public ActionResult Index()
        {
            //throw new Exception();

            //var user = _userService.GetByUserName(User.Identity.Name);

            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = nobetUstGruplar.Select(s => s.Id).ToList();

            var nobetUstGrup                     = _nobetUstGrupSessionService.GetSession("nobetUstGrup");
            var nobetGrupGorevTipler             = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var nobetGrupGorevTipGunKurallarTumu = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrup.Id);

            //var nobetGrupGorevTipGunKurallar = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrup);

            var nobetGrunKurallar = nobetGrupGorevTipGunKurallarTumu
                                    .Select(s => new { s.NobetGunKuralId, s.NobetGunKuralAdi })
                                    .Distinct()
                                    .OrderBy(o => o.NobetGunKuralId)
                                    .ToList();

            ViewBag.NobetGunKuralId     = new SelectList(nobetGrunKurallar, "NobetGunKuralId", "NobetGunKuralAdi");
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi");

            return(View());
        }
Exemplo n.º 9
0
        // GET: EczaneNobet/Bayram/Create
        public ActionResult Create()
        {
            var user         = _userService.GetByUserName(User.Identity.Name);
            var nobetGruplar = _nobetGrupService.GetListByUser(user);

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar()
                                       .Where(w => nobetGruplar.Select(s => s.Id).Contains(w.NobetGrupId))
                                       .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}"
            });

            ViewBag.BayramTurId         = new SelectList(_bayramTurService.GetList(), "Id", "Adi");
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "Value");
            ViewBag.NobetGunKuralId     = new SelectList(_nobetGunKuralService.GetList().Where(w => w.Id > 7), "Id", "Adi");
            ViewBag.TakvimId            = new SelectList(_takvimService.GetList(), "Id", "Tarih");

            return(View());
        }
Exemplo n.º 10
0
        // GET: EczaneNobet/NobetGrupGorevTipTakvimOzelGun
        public ActionResult Index()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user).Select(s => s.Id).ToList();

            //var nobetGrupGorevTipTakvimOzelGunler = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(nobetUstGruplar)
            //    .OrderBy(o => o.NobetGorevTipAdi)
            //    .ThenBy(o => o.Tarih).ToList();
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var nobetOzelGunler      = _nobetOzelGunService.GetList();//bayramTurler

            ViewBag.NobetOzelGunId      = new SelectList(nobetOzelGunler, "Id", "Adi");
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi");

            return(View());
        }
Exemplo n.º 11
0
        // GET: EczaneNobet/NobetGrupGorevTip
        public ActionResult Index()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetGruplar = _nobetGrupService.GetListByUser(user);
            var ustGrupSession = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var model = _nobetGrupGorevTipService.GetDetaylar(ustGrupSession.Id);

            return(View(model));
        }
        // GET: EczaneNobet/EczaneNobetGrupAltGrup/Create
        public ActionResult Create()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id)
                                       .Select(s => s.Id).ToList();

            var eczaneNobetGrupList = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(nobetGrupGorevTipler)
                                      .Where(w => w.BitisTarihi == null).ToList();

            var eczaneNobetGruplar = _eczaneNobetGrupService.GetMyDrop(eczaneNobetGrupList);

            var nobetAltGruplar = _nobetAltGrupService.GetDetaylar(nobetGrupGorevTipler);

            ViewBag.EczaneNobetGrupId = new SelectList(eczaneNobetGruplar, "Id", "Value");
            ViewBag.NobetAltGrupId    = new SelectList(nobetAltGruplar.Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.Adi}, {s.NobetGorevTipAdi}"
            }), "Id", "Value");

            return(View());
        }
Exemplo n.º 13
0
        // GET: EczaneNobet/NobetGrupTalep/Create
        public ActionResult Create()
        {
            //user
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = _nobetUstGrupService.GetListByUser(user).FirstOrDefault();
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var tarih = DateTime.Today;
            //var yil = DateTime.Now.AddMonths(1).Year;
            //var ay = DateTime.Now.AddMonths(1).Month;

            var tarihler = _takvimService.GetList()
                           .Where(w => w.Tarih >= tarih)
                           .Select(s => new MyDrop {
                Id = s.Id, Value = s.Tarih.ToLongDateString()
            });

            ViewBag.NobetGrupGorevTipId = new SelectList(_nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id)
                                                         .Select(s => new { s.Id, Adi = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}" }), "Id", "Adi");
            ViewBag.TakvimId = new SelectList(tarihler, "Id", "Value");

            return(View());
        }
        public ActionResult Index()
        {
            //var user = _userService.GetByUserName(User.Identity.Name);

            var ustGrupSession = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            //if (ustGrupSession.Id != 0)
            //{
            //    nobetUstGrup = ustGrupSession;
            //}

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(ustGrupSession.Id);

            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi");

            var model = _eczaneNobetGrupService.GetDetaylar(ustGrupSession.Id)
                        .OrderBy(s => s.NobetGorevTipId)
                        .ThenBy(s => s.NobetGrupAdi)
                        .ThenBy(s => s.EczaneAdi).ToList();

            return(View(model));
        }
        public List <EczaneNobetSonucListe2> GetSonuclar2(List <EczaneNobetSonucDetay2> eczaneNobetSonucDetaylar, int nobetUstGrupId)
        {
            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrupId);
            var bayramlar            = _bayramService.GetDetaylar(nobetUstGrupId);
            var mazeretler           = _eczaneNobetMazeretService.GetDetaylar(nobetUstGrupId);

            var liste2 = (from s in eczaneNobetSonucDetaylar
                          join b in nobetGrupGorevTipler
                          on new { s.NobetGrupId, s.NobetGorevTipId }
                          equals new { b.NobetGrupId, b.NobetGorevTipId }
                          select new
            {
                s.NobetGorevTipId,
                s.TakvimId,
                s.EczaneNobetGrupId,
                s.EczaneAdi,
                s.NobetGrupAdi,
                s.NobetGrupId,
                NobetGrupGorevTipId = b.Id,
                s.Tarih,
                s.NobetUstGrupId,
                s.EczaneId,
                b.NobetGorevTipAdi
            }).ToList();

            var culture = new CultureInfo("tr-TR");

            var liste = (from s in liste2
                         from b in bayramlar
                         .Where(w => w.TakvimId == s.TakvimId &&
                                w.NobetGrupGorevTipId == s.NobetGrupGorevTipId).DefaultIfEmpty()
                         from m in mazeretler
                         .Where(w => w.TakvimId == s.TakvimId &&
                                w.EczaneNobetGrupId == s.EczaneNobetGrupId).DefaultIfEmpty()
                         select new EczaneNobetSonucListe2
            {
                Yil = s.Tarih.Year,
                Ay = s.Tarih.Month,
                EczaneNobetGrupId = s.EczaneNobetGrupId,
                EczaneId = s.EczaneId,
                EczaneAdi = s.EczaneAdi,
                NobetGrupAdi = s.NobetGrupAdi,
                NobetGrupId = s.NobetGrupId,
                NobetUstGrupId = s.NobetUstGrupId,
                NobetGunKuralId = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                             ? b.NobetGunKuralId
                             : (int)s.Tarih.DayOfWeek + 1,
                NobetGunKuralAdi = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                             ? b.NobetGunKuralAdi
                             : culture.DateTimeFormat.GetDayName(s.Tarih.DayOfWeek),
                GunGrupAdi = s.NobetUstGrupId == 3
                             ? ((b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                                ? "Bayram"
                                : (s.Tarih.DayOfWeek == 0 || (int)s.Tarih.DayOfWeek == 6)
                                ? culture.DateTimeFormat.GetDayName(s.Tarih.DayOfWeek)
                                : "Hafta İçi")
                             : ((b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                                ? "Bayram"
                                : s.Tarih.DayOfWeek == 0
                                ? "Pazar"
                                : "Hafta İçi"),
                Gun = s.Tarih.Day,
                Tarih = s.Tarih,
                TakvimId = s.TakvimId,
                MazeretId = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretId : 0,
                Mazeret = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretAdi : null,
                MazeretTuru = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretTuru : null,
                NobetGorevTipAdi = s.NobetGorevTipAdi,
                NobetGorevTipId = s.NobetGorevTipId,
                SonucTuru = EczaneNobetSonucTuru.Taslak
            }).ToList();

            return(liste);
        }
Exemplo n.º 16
0
        private MersinMerkezDataModelV2 EczaneNobetDataModel(EczaneNobetDataModelParametre eczaneNobetDataModelParametre)
        {
            #region parametreler
            var nobetUstGrupId              = eczaneNobetDataModelParametre.NobetUstGrupId;
            var yilBaslangic                = eczaneNobetDataModelParametre.YilBaslangic;
            var yilBitis                    = eczaneNobetDataModelParametre.YilBitis;
            var ayBaslangic                 = eczaneNobetDataModelParametre.AyBaslangic;
            var ayBitis                     = eczaneNobetDataModelParametre.AyBitis;
            var nobetGrupIdListe            = eczaneNobetDataModelParametre.NobetGrupId.ToList();
            var nobetGorevTipId             = eczaneNobetDataModelParametre.NobetGorevTipId;
            var nobetUstGrupBaslangicTarihi = eczaneNobetDataModelParametre.NobetUstGrupBaslangicTarihi;
            var ayBitisBaslangicGunu        = eczaneNobetDataModelParametre.AyBitisBaslangicGunu;
            var ayBitisBitisGunu            = eczaneNobetDataModelParametre.AyBitisBitisGunu;

            var baslangicTarihi = eczaneNobetDataModelParametre.BaslangicTarihi;
            var bitisTarihi     = eczaneNobetDataModelParametre.BitisTarihi;
            #endregion

            #region başlangıç bitiş tarihleri
            //int aydakiGunSayisi = DateTime.DaysInMonth(yilBitis, ayBitis);
            //var baslangicTarihi = new DateTime(yilBitis, ayBitis, 1);
            //var bitisTarihi = new DateTime(yilBitis, ayBitis, aydakiGunSayisi);

            //if (!eczaneNobetDataModelParametre.BuAyVeSonrasi)
            //{
            //    if (ayBitisBaslangicGunu > 1)
            //    {
            //        baslangicTarihi = new DateTime(yilBitis, ayBitis, ayBitisBaslangicGunu);
            //    }

            //    if (ayBitisBitisGunu < aydakiGunSayisi)
            //    {
            //        bitisTarihi = new DateTime(yilBitis, ayBitis, ayBitisBitisGunu);
            //    }
            //}
            //özel tarih aralığı
            //baslangicTarihi = new DateTime(yilBitis, 4, 16);
            //bitisTarihi = new DateTime(yilBitis, 7, 8);
            #endregion

            var nobetGruplar         = _nobetGrupService.GetDetaylar(nobetGrupIdListe).OrderBy(s => s.Id).ToList();
            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetGorevTipId, nobetGrupIdListe);
            var eczaneNobetSonuclar  = _eczaneNobetSonucService.GetSonuclar(nobetUstGrupId); //nobetGrupIdListe
            //.Where(w => !(w.EczaneNobetGrupId == 301 && w.TakvimId == 88)).ToList();
            //.Where(w => w.Tarih.Year > 2017).ToList();

            var eczaneNobetMazeretNobettenDusenler = _eczaneNobetMazeretService.GetEczaneNobetMazeretSayilari(baslangicTarihi, bitisTarihi, nobetGrupIdListe);

            var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylar(nobetGrupIdListe, baslangicTarihi, bitisTarihi)
                                     .Where(w => !eczaneNobetMazeretNobettenDusenler.Select(s => s.EczaneNobetGrupId).Contains(w.Id)).ToList();

            var eczaneNobetSonuclarCozulenGrup = eczaneNobetSonuclar
                                                 .Where(w => !eczaneNobetMazeretNobettenDusenler.Select(s => s.EczaneNobetGrupId).Contains(w.EczaneNobetGrupId) &&
                                                        nobetGrupIdListe.Contains(w.NobetGrupId)).ToList();

            var enSonNobetler = _eczaneNobetOrtakService.GetEczaneNobetGrupGunKuralIstatistik(eczaneNobetGruplar, eczaneNobetSonuclarCozulenGrup);

            var eczaneNobetGrupGunKuralIstatistikYatay = _eczaneNobetOrtakService.GetEczaneNobetGrupGunKuralIstatistikYatay(enSonNobetler);

            var grupluEczaneNobetSonuclar = eczaneNobetSonuclar
                                            .Where(w => (w.Tarih >= baslangicTarihi && w.Tarih <= bitisTarihi)).ToList();

            var eczaneGrupEdges = _eczaneGrupService.GetEdges()
                                  .Where(e => (nobetGrupIdListe.Contains(e.FromNobetGrupId) ||
                                               nobetGrupIdListe.Contains(e.ToNobetGrupId)))
                                  .Where(w => (grupluEczaneNobetSonuclar.Select(s => s.EczaneId).Distinct().Contains(w.From) ||
                                               grupluEczaneNobetSonuclar.Select(s => s.EczaneId).Distinct().Contains(w.To))
                                         ).ToList();

            //sonuçlarda ilişkili eczaneler
            var eczaneGruplar = _eczaneGrupService.GetDetaylarAktifGruplar(nobetUstGrupId)
                                .Where(x => (eczaneGrupEdges.Select(s => s.From).Distinct().Contains(x.EczaneId) || eczaneGrupEdges.Select(s => s.To).Distinct().Contains(x.EczaneId)) ||
                                       nobetGrupIdListe.Contains(x.NobetGrupId)
                                       ).ToList();

            //fazladan gelen tanımlar var iyileştirmekte fayda var
            var eczaneGrupTanimlar = _eczaneGrupTanimService.GetDetaylarAktifTanimList(eczaneGruplar.Select(x => x.EczaneGrupTanimId).ToList());
            var eczaneGruplar2     = _eczaneGrupService.GetDetaylarByEczaneGrupTanimId(eczaneGrupTanimlar.Select(s => s.Id).ToList());

            var eczaneGrupNobetSonuclar = grupluEczaneNobetSonuclar
                                          .Where(w => eczaneGruplar2.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            //nöbet yazılacak tarih aralığı(örn. Ocak ayının tüm günleri)
            var tarihAralik = _takvimService.GetTakvimNobetGruplar(baslangicTarihi, bitisTarihi, nobetGrupIdListe, nobetGorevTipId);

            //var tarihAralikAltGrupluGruplar = _takvimService.GetTakvimNobetGrupAltGruplar(baslangicTarihi, bitisTarihi, nobetGrupIdListe, nobetGorevTipId);

            var eczaneKumulatifHedefler = new List <EczaneNobetIstatistik>();
            //_takvimService.GetEczaneKumulatifHedefler(yilBaslangic, yilBitis, ayBaslangic, ayBitis, nobetGrupIdListe, nobetGorevTipId)
            //.Where(w => eczaneNobetGruplar.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            var eczaneNobetIstatistikler = new List <EczaneNobetIstatistik>();
            //_eczaneNobetSonucService.GetEczaneNobetIstatistik2(nobetGrupIdListe)
            //.Where(w => eczaneNobetGruplar.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            var eczaneNobetTarihAralik = _takvimService.GetEczaneNobetTarihAralik(baslangicTarihi, bitisTarihi, nobetGorevTipId, nobetGrupIdListe)
                                         .Where(w => eczaneNobetGruplar.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            //2. karar değişkeni. her eczane ve ilgili altgrup
            var eczaneNobetAltGrupTarihAralik = _takvimService.GetEczaneNobetAltGrupTarihAralik(baslangicTarihi, bitisTarihi, nobetGorevTipId, nobetGrupIdListe)
                                                .Where(w => eczaneNobetGruplar.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            var eczaneNobetIstekler = _eczaneNobetIstekService.GetDetaylarByNobetGrupIdList(baslangicTarihi, bitisTarihi.AddDays(10), nobetGrupIdListe)
                                      .Where(w => eczaneNobetGruplar.Select(s => s.EczaneId).Contains(w.EczaneId)).ToList();

            var eczaneNobetMazeretler = _eczaneNobetMazeretService.GetDetaylarByEczaneIdList(baslangicTarihi, bitisTarihi, eczaneNobetGruplar.Select(s => s.EczaneId).Distinct().ToList())
                                        .Where(w => w.MazeretId != 3)
                                        .ToList();

            var takvimNobetGrupGunDegerIstatistikler = _takvimService.GetTakvimNobetGrupGunDegerIstatistikler(nobetUstGrupBaslangicTarihi, bitisTarihi, nobetGrupIdListe, nobetGorevTipId);

            var eczaneNobetGrupAltGruplar = _eczaneNobetGrupAltGrupService.GetDetaylar(nobetUstGrupId);

            var mersinMerkezDataModel = new MersinMerkezDataModelV2()
            {
                Yil        = yilBitis,
                Ay         = ayBitis,
                LowerBound = 0,
                UpperBound = 1,
                NobetUstGrupBaslangicTarihi = nobetUstGrupBaslangicTarihi,
                NobetUstGrupId           = nobetUstGrupId,
                EczaneNobetTarihAralik   = eczaneNobetTarihAralik,  //karar değişkeni
                EczaneKumulatifHedefler  = eczaneKumulatifHedefler, //.Where(w => w.EczaneId != 121).ToList(),
                EczaneNobetIstatistikler = eczaneNobetIstatistikler,
                EczaneNobetMazeretler    = eczaneNobetMazeretler,
                EczaneGrupTanimlar       = eczaneGrupTanimlar,
                TarihAraligi             = tarihAralik,
                NobetGruplar             = nobetGruplar,
                EczaneGruplar            = eczaneGruplar2,
                EczaneNobetIstekler      = eczaneNobetIstekler,
                NobetGrupGunKurallar     = _nobetGrupGunKuralService.GetDetaylarAktifList(nobetGrupIdListe),
                NobetGrupKurallar        = _nobetGrupKuralService.GetDetaylar(nobetGrupIdListe),
                NobetGrupGorevTipler     = nobetGrupGorevTipler,
                NobetGrupTalepler        = _nobetGrupTalepService.GetDetaylar(nobetGrupIdListe, baslangicTarihi, bitisTarihi),
                EczaneNobetGruplar       = eczaneNobetGruplar,
                Kisitlar = _nobetUstGrupKisitService.GetDetaylar(nobetUstGrupId),
                EczaneGrupNobetSonuclar                = eczaneGrupNobetSonuclar,
                EczaneNobetSonuclar                    = eczaneNobetSonuclarCozulenGrup,
                EczaneGrupNobetSonuclarTumu            = eczaneNobetSonuclar,
                EczaneNobetGrupGunKuralIstatistikler   = enSonNobetler,
                TakvimNobetGrupGunDegerIstatistikler   = takvimNobetGrupGunDegerIstatistikler,
                EczaneNobetGrupGunKuralIstatistikYatay = eczaneNobetGrupGunKuralIstatistikYatay,
                EczaneNobetGrupAltGruplar              = eczaneNobetGrupAltGruplar,
                EczaneNobetAltGrupTarihAralik          = eczaneNobetAltGrupTarihAralik
            };

            return(mersinMerkezDataModel);
        }