public ActionResult DemoPivot()
        {
            var user             = _userService.GetByUserName(User.Identity.Name);
            var nobetUstGrupId   = _nobetUstGrupService.GetListByUser(user).Select(x => x.Id).FirstOrDefault();
            var nobetGunKurallar = _nobetGunKuralService.GetList();
            var nobetGruplar     = _nobetGrupService.GetListByNobetUstGrupId(nobetUstGrupId)
                                   .Select(s => new MyDrop {
                Id = s.Id, Value = s.Adi
            });

            var sonuclarHepsi = _eczaneNobetSonucDemoService.GetSonuclar2(nobetUstGrupId);

            var yillar = sonuclarHepsi
                         .Select(s => s.Yil).Distinct()
                         .OrderBy(o => o).ToList();

            var versiyonlar = sonuclarHepsi
                              .Select(s => s.NobetSonucDemoTipId).Distinct().ToList();

            var demoTipler = _nobetSonucDemoTipService.GetList()
                             .Where(w => versiyonlar.Contains(w.Id))
                             .Select(s => new MyDrop {
                Id = s.Id, Value = s.Adi
            })
                             .OrderBy(o => o.Id).ToList();

            var pivotSekiller = _eczaneNobetOrtakService.GetPivotSekiller();

            var versiyon = demoTipler.Select(s => s.Id).LastOrDefault();
            var sekil    = 1;

            var yilBaslangic = sonuclarHepsi
                               .Where(w => w.Yil == DateTime.Now.Year)
                               .Select(s => s.Yil).Distinct()
                               .OrderBy(o => o).FirstOrDefault();

            //var yilBaslangic = sonuclar.Select(s => s.Yil).Distinct().OrderBy(o => o).FirstOrDefault();
            var yilBitis  = yillar.Where(s => s == DateTime.Now.Year).SingleOrDefault();
            var nobetGrup = 0;

            ViewBag.yilBaslangic = yilBaslangic;
            ViewBag.yilBitis     = yilBitis;
            ViewBag.versiyon     = versiyon;
            ViewBag.sekil        = sekil;
            ViewBag.nobetGrup    = nobetGrup;

            ViewBag.Versiyonlar     = new SelectList(demoTipler, "Id", "Value", versiyon);
            ViewBag.YilBaslangiclar = new SelectList(yillar, null, null, yilBaslangic);
            ViewBag.YilBitisler     = new SelectList(yillar, null, null, yilBitis);
            //ViewBag.PivotSekiller = new SelectList(pivotSekiller, "Id", "Value", sekil);
            ViewBag.NobetGruplar = new SelectList(nobetGruplar, "Id", "Value");

            var sonuclar = sonuclarHepsi.Where(s =>
                                               (s.Yil >= yilBaslangic && s.Yil <= yilBitis)
                                               //&& s.Ay == DateTime.Now.Month
                                               && s.NobetSonucDemoTipId == versiyon).ToList();

            ViewBag.ToplamUzunluk = sonuclar.Count();

            var gunFarklari = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiHesapla(sonuclar);

            var gunFarkiFrekanslar = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiFrekans(gunFarklari);

            var esGrubaAyniGunYazilanNobetler = _eczaneNobetOrtakService.GetEsGrubaAyniGunYazilanNobetler(sonuclar);

            var model = new EczaneNobetSonucViewModel
            {
                PivotSonuclar                 = sonuclar,
                GunFarklariTumSonuclar        = gunFarklari,
                GunFarklariFrekanslar         = gunFarkiFrekanslar,
                EsGrubaAyniGunYazilanNobetler = esGrubaAyniGunYazilanNobetler
            };

            return(View(model));
        }
        // GET: EczaneNobet/EczaneNobetSonuc  int[] nobetGrupIdList = null, int yil = 2018, int ay = 1
        public ActionResult PivotSonuclar(PivotSonuclarParams pivotSonuclarParams)
        {
            var parametreler = pivotSonuclarParams;

            if (parametreler == null)
            {
                parametreler = new PivotSonuclarParams();
            }

            //pivotSonuclarParams.NobetGrupIdList.ToArray();

            var arr = ParseStringToIntArray(pivotSonuclarParams.NobetGrupIdList);

            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = nobetUstGruplar.FirstOrDefault();
            var nobetUstGrup   = _nobetUstGrupSessionService.GetSession("nobetUstGrup");
            var nobetUstGrupId = nobetUstGrup.Id;

            var nobetGruplar = _nobetGrupService.GetDetaylar(nobetUstGrupId)
                               .Select(s => new MyDrop {
                Id = s.Id, Value = s.Adi
            });

            var baslamaTarihi = pivotSonuclarParams.BaslangicTarihi;
            var bitisTarihi   = pivotSonuclarParams.BitisTarihi;

            var sonuclarEski = _eczaneNobetSonucService.GetSonuclar(nobetUstGrupId)
                               .Where(w => w.Tarih >= nobetUstGrup.BaslangicTarihi);

            var sonuclarAktif = _eczaneNobetSonucAktifService.GetSonuclar2(nobetUstGrupId)
                                .Where(w => w.Tarih >= baslamaTarihi && w.Tarih <= bitisTarihi).ToList();

            var tumSonuclar = sonuclarEski.Union(sonuclarAktif).ToList();

            ViewBag.nobetGrup = arr.FirstOrDefault();

            var beklenenGunFarklari = new List <NobetGrupBeklenenGunFarki>();

            //ViewBag.NobetGruptakiEczaneSayisi

            var nobetGrupEczaneSayilari = arr.Count == 0
                ? _eczaneNobetGrupService.NobetGruplarDDL(nobetUstGrupId)
                                          //.Where(w => arr.Contains(w.NobetGrupId))
                                          .Select(s => new { s.NobetGrupAdi, s.EczaneSayisi })
                : _eczaneNobetGrupService.NobetGruplarDDL(nobetUstGrupId)
                                          .Where(w => arr.Contains(w.NobetGrupId))
                                          .Select(s => new { s.NobetGrupAdi, s.EczaneSayisi });

            foreach (var item in nobetGrupEczaneSayilari)
            {
                beklenenGunFarklari.Add(new NobetGrupBeklenenGunFarki
                {
                    NobetGrupAdi = item.NobetGrupAdi,
                    Haftaİci     = $"{Math.Round(item.EczaneSayisi * 1.2 * 0.766, 0)}-{(Math.Ceiling(item.EczaneSayisi * 1.34))}",
                    Pazar        = $"{(int)Math.Ceiling(((double)item.EczaneSayisi / 5) - 1) * 30}-{((int)Math.Ceiling((double)item.EczaneSayisi / 4) + 1) * 30}",
                    EczaneSayisi = item.EczaneSayisi
                });
            }
            ;

            TempData["NobetGrupId"] = pivotSonuclarParams.NobetGrupIdList;

            //ViewBag.YilBaslangiclar = new SelectList(yillar, null, null, yilBaslangic);
            //ViewBag.YilBitisler = new SelectList(yillar, null, null, pivotSonuclarParams.Yil);
            //if (pivotSonuclarParams.NobetGrupIdList != null)
            //{
            //    ViewBag.NobetGruplar = new SelectList(nobetGruplar, "Id", "Value", pivotSonuclarParams.NobetGrupIdList.FirstOrDefault());
            //}
            //else
            //{
            //    ViewBag.NobetGruplar = new SelectList(nobetGruplar, "Id", "Value");
            //}

            ViewBag.ToplamUzunluk = tumSonuclar.Count();

            var gunFarklari = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiHesapla(tumSonuclar)
                              .Where(w => (w.Nobet2Tarih >= baslamaTarihi && w.Nobet2Tarih <= bitisTarihi)).ToList();

            var gunFarkiFrekanslar = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiFrekans(gunFarklari);

            ViewBag.ToplamUzunluk2 = gunFarklari.Count;

            //TempData["EczaneNobetSonuclar"] = sonucModel;

            var model = new EczaneNobetSonucAktifPivotSonuclarViewModel
            {
                TumSonuclar                  = tumSonuclar.Where(w => arr.Contains(w.NobetGrupId)).ToList(),
                GunFarklari                  = gunFarklari,
                GunFarklariFrekanslar        = gunFarkiFrekanslar,
                NobetGrupBeklenenGunFarklari = beklenenGunFarklari,
                EczaneNobetSonuclar          = (EczaneNobetSonucModel)TempData["EczaneNobetSonuclar"] ?? new EczaneNobetSonucModel(),
                BaslamaTarihi                = baslamaTarihi,
                BitisTarihi                  = bitisTarihi
            };

            return(View(model));
        }