// GET: EczaneNobet/EczaneGrup public ActionResult Index(int id = 0) { //if (id == 0) // return RedirectToAction("Index", "EczaneGrupTanim"); //int Id = Convert.ToInt32(id); var user = _userService.GetByUserName(User.Identity.Name); var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user); var nobetUstGrupId = nobetUstGruplar.Select(s => s.Id).FirstOrDefault(); var nobetGruplar = _nobetGrupService.GetListByNobetUstGrupId(nobetUstGrupId); var eczaneGrupTanimlar = _eczaneGrupTanimService.GetDetaylar(nobetUstGrupId) .Select(s => new MyDrop { Id = s.Id, Value = s.EczaneGrupTanimAdi }) .OrderBy(o => o.Value); var grupId = 0; if (TempData["arananNobetGrupId"] != null) { grupId = (int)TempData["arananNobetGrupId"]; } ViewBag.NobetGrupId = new SelectList(items: nobetGruplar, dataValueField: "Id", dataTextField: "Adi", selectedValue: grupId); ViewBag.EczaneGrupTanimId = new SelectList(items: eczaneGrupTanimlar, dataValueField: "Id", dataTextField: "Value", selectedValue: id); ViewBag.grupTanimId = id; ViewBag.grupId = grupId; return(View()); }
// GET: EczaneNobet/EczaneUzaklikMatris public ActionResult Index() { //var user = _userService.GetByUserName(User.Identity.Name); //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user).Select(s => s.Id); var ustGrupSession = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var nobetUstGrupId = ustGrupSession.Id; var eczaneGrupIdList = _nobetGrupService.GetListByNobetUstGrupId(nobetUstGrupId).Select(s => s.Id).ToList(); var nobetciEczaneler = _eczaneNobetGrupService.GetAktifEczaneNobetGrupList(eczaneGrupIdList); //nobetciEczaneler = nobetciEczaneler.Take(10).ToList(); var model = new EczaneUzaklikMatrisViewModel { Eczaneler = new List <Eczane>(), NobetUstGrupId = nobetUstGrupId, //Uzakliklar = new List<EczaneUzaklikMatrisDetay>() }; foreach (var item in nobetciEczaneler) { var adres = _eczaneService.GetById(item.EczaneId).Adres; var enlem = _eczaneService.GetById(item.EczaneId).Enlem; var boylam = _eczaneService.GetById(item.EczaneId).Boylam; var telefonNo = _eczaneService.GetById(item.EczaneId).TelefonNo; var adresTarifi = _eczaneService.GetById(item.EczaneId).AdresTarifi; var adresTarifiKisa = _eczaneService.GetById(item.EczaneId).AdresTarifiKisa; model.Eczaneler.Add(new Eczane { Id = item.EczaneId, Adi = item.EczaneAdi, Adres = adres, Enlem = enlem, Boylam = boylam, TelefonNo = telefonNo, AdresTarifi = adresTarifi, AdresTarifiKisa = adresTarifiKisa }); } SetUzakliklarKusUcusu(model.Eczaneler); var sonuclar = _eczaneUzaklikMatrisService.GetDetaylar(nobetUstGrupId); model.Uzakliklar = sonuclar; return(View(model)); }
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)); }
public void ModelCoz(EczaneNobetModelCoz eczaneNobetModelCoz) { var nobetGruplar = _nobetGrupService.GetListByNobetUstGrupId(eczaneNobetModelCoz.NobetUstGrupId); if (nobetGruplar.Count > 0) { #region başka gruplarla ilişkisi olan gruplar var eczaneGrupDetaylar = _eczaneGrupService.GetDetaylar() .Where(d => d.EczaneGrupTanimBitisTarihi == null && nobetGruplar.Select(s => s.Id).Contains(d.NobetGrupId)).ToList(); //başka gruplarla ilişkisi olan gruplar var esGruplar = eczaneGrupDetaylar.Select(x => x.NobetGrupId).Distinct().OrderBy(x => x).ToList(); //Birbiri ile ilişkili grupların gruplanması var esliNobetGruplar = _eczaneGrupService.EsGrupluEczanelerinGruplariniBelirle(eczaneGrupDetaylar, esGruplar) .Where(w => eczaneNobetModelCoz.NobetGrupId.Contains(w.NobetGrupId)).ToList(); //.Where(w => w.NobetGrupId == eczaneNobetModelCoz.NobetGrupId || eczaneNobetModelCoz.NobetGrupId.Contains(0)).ToList(); #endregion #region başka gruplarla ilişkisi olmayan gruplar var tekEczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylar(eczaneNobetModelCoz.NobetUstGrupId) .Where(x => !esGruplar.Contains(x.NobetGrupId)).ToList(); var tekliNobetGruplar = tekEczaneNobetGruplar .Where(d => nobetGruplar.Select(s => s.Id).Contains(d.NobetGrupId)) .Select(c => c.NobetGrupId).Distinct().ToList(); #endregion #region tüm nöbet gruplar var tumNobetGruplar = new List <NobetBagGrup>(); foreach (var esliNobetGrup in esliNobetGruplar.Distinct()) { tumNobetGruplar.Add(new NobetBagGrup { Id = esliNobetGrup.Id, NobetGrupId = esliNobetGrup.NobetGrupId }); } var indis = tumNobetGruplar.Select(s => s.Id).LastOrDefault(); foreach (var tekliNobetGrup in tekliNobetGruplar.Distinct()) { indis++; tumNobetGruplar.Add(new NobetBagGrup { Id = indis, NobetGrupId = tekliNobetGrup }); } var nobetGrupTanimlar = tumNobetGruplar.Select(s => s.Id).Distinct().ToList(); #endregion #region Karar kuralları var model = new EczaneNobetDataModelParametre { //AyBaslangic = eczaneNobetModelCoz.AyBaslangic, AyBitis = eczaneNobetModelCoz.AyBitis, NobetGorevTipId = eczaneNobetModelCoz.NobetGorevTipId, NobetGrupId = eczaneNobetModelCoz.NobetGrupId, NobetUstGrupId = eczaneNobetModelCoz.NobetUstGrupId, //YilBaslangic = eczaneNobetModelCoz.YilBaslangic, //YilBitis = eczaneNobetModelCoz.YilBitis }; if (eczaneNobetModelCoz.NobetGrupId.Contains(0) && eczaneNobetModelCoz.AyBitis == 0) {//ay ve gruplar --tümü-- foreach (var ay in _takvimService.GetAylar()) { foreach (var item in nobetGrupTanimlar) { var r = new Random(); var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => r.NextDouble()).ToList(); foreach (var item2 in liste) { var liste2 = new int[] { item2 }; model.AyBitis = ay.Id; model.NobetGrupId = liste2; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); Kesinlestir(model.NobetUstGrupId); } } } } else if (eczaneNobetModelCoz.NobetGrupId.Contains(0)) {//ay seçili, gruplar --tümü-- if (eczaneNobetModelCoz.BuAyVeSonrasi) { var aylar = _takvimService.GetAylar() .Where(w => w.Id >= eczaneNobetModelCoz.AyBitis).ToList(); foreach (var ay in aylar) { foreach (var item in nobetGrupTanimlar) { var r = new Random(); var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => r.NextDouble()).ToList(); foreach (var item2 in liste) { var liste2 = new int[] { item2 }; model.AyBitis = ay.Id; model.NobetGrupId = liste2; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); Kesinlestir(model.NobetUstGrupId); } } } } else { foreach (var item in nobetGrupTanimlar) { var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => x).ToList(); foreach (var item2 in liste) { var liste2 = new int[] { item2 }; model.NobetGrupId = liste2; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); Kesinlestir(model.NobetUstGrupId); } } } } else if (eczaneNobetModelCoz.AyBitis == 0) {//grup seçili, aylar --tümü-- foreach (var ay in _takvimService.GetAylar()) { foreach (var item in tumNobetGruplar .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId)) //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId) .Select(s => s.Id).Distinct().ToList()) { var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => x).ToList(); foreach (var item2 in liste) { var liste2 = new int[] { item2 }; model.AyBitis = ay.Id; model.NobetGrupId = liste2; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); Kesinlestir(model.NobetUstGrupId); } } } } else {//seçili grup ve ay if (eczaneNobetModelCoz.BuAyVeSonrasi) { var aylar = _takvimService.GetAylar() .Where(w => w.Id >= eczaneNobetModelCoz.AyBitis).ToList(); foreach (var ay in aylar) { foreach (var item in tumNobetGruplar .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId)) //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId) .Select(s => s.Id).Distinct().ToList()) { var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => x).ToArray(); model.AyBitis = ay.Id; model.NobetGrupId = liste; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); Kesinlestir(model.NobetUstGrupId); } } } else { foreach (var item in tumNobetGruplar .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId)) //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId) .Select(s => s.Id).Distinct().ToList()) { var liste = tumNobetGruplar .Where(x => x.Id == item) .Select(s => s.NobetGrupId) .OrderByDescending(x => x).ToArray(); model.NobetGrupId = liste; var data = EczaneNobetDataModel(model); EczaneNobetCozAktifiGuncelle(data); } } #endregion } } }