public ActionResult PivotSonuclar(int nobetGrup = 0, int yilBaslangic = 2018, int yilBitis = 2020, int ay = 0) { //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 sonuclarEski = _eczaneNobetSonucService.GetSonuclar(nobetUstGrupId) .Where(w => w.Tarih >= nobetUstGrup.BaslangicTarihi); var sonuclarAktif = _eczaneNobetSonucAktifService.GetSonuclar2(nobetUstGrupId); var sonuclar = sonuclarEski.Union(sonuclarAktif) .Where(w => w.NobetGrupId == nobetGrup || nobetGrup == 0).ToList(); var tumSonuclar = sonuclar .Where(w => (w.Yil >= yilBaslangic && w.Yil <= yilBitis)).ToList(); var yillar = sonuclar .Select(s => s.Yil).Distinct().OrderBy(o => o).ToList(); ViewBag.yilBaslangic = yilBaslangic; ViewBag.yilBitis = yilBitis; ViewBag.nobetGrup = nobetGrup; //ViewBag.NobetGruptakiEczaneSayisi = _eczaneNobetGrupService.NobetGruplarDDL(nobetUstGrupId).Where(w => w.NobetGrupId == nobetGrup).Select(s => s.EczaneSayisi).SingleOrDefault(); var beklenenGunFarklari = new List <NobetGrupBeklenenGunFarki>(); //ViewBag.NobetGruptakiEczaneSayisi var nobetGrupEczaneSayilari = _eczaneNobetGrupService.NobetGruplarDDL(nobetUstGrupId) .Where(w => w.NobetGrupId == nobetGrup).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"] = nobetGrup; TempData["Yil"] = yilBitis; TempData["Ay"] = ay; ViewBag.YilBaslangiclar = new SelectList(yillar, null, null, yilBaslangic); ViewBag.YilBitisler = new SelectList(yillar, null, null, yilBitis); ViewBag.NobetGruplar = new SelectList(nobetGruplar, "Id", "Value", nobetGrup); ViewBag.ToplamUzunluk = tumSonuclar.Count; //var pivotSekiller2 = _eczaneNobetOrtakService.GetPivotSekillerGunFarki(); var gunFarklari = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiHesapla(sonuclar) .Where(w => w.Nobet2Yil == yilBitis && w.Nobet2Ay == ay).ToList(); var gunFarkiFrekanslar = _eczaneNobetOrtakService.EczaneNobetIstatistikGunFarkiFrekans(gunFarklari); ViewBag.ToplamUzunluk2 = gunFarklari.Count; var model = new EczaneNobetSonucAktifPivotSonuclarViewModel { TumSonuclar = tumSonuclar, GunFarklari = gunFarklari, GunFarklariFrekanslar = gunFarkiFrekanslar, NobetGrupBeklenenGunFarklari = beklenenGunFarklari }; 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)); }