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)); }