public ActionResult Index(DateTime?tarih) { //var user = _userService.GetByUserName(User.Identity.Name); //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user); //var nobetUstGrup = nobetUstGruplar.FirstOrDefault(); var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var _tarih = DateTime.Today; var nobetciEczaneler = _eczaneNobetSonucService.GetDetaylarGunluk(_tarih, nobetUstGrup.Id); var IPadres = Request.UserHostAddress; // var ekraninBulundugueczane = _eczaneService.GetList().Where(w=>w.IPadress == IPadres); var model = new NobetciEczaneHaritaViewModel { NobetciEczaneler = new List <NobetciEczane>(), Enlem = nobetUstGrup.Enlem, // _enlem, Boylam = nobetUstGrup.Boylam, // _boylam, Tarih = _tarih }; foreach (var item in nobetciEczaneler) { var eczane = _eczaneService.GetById(item.EczaneId); var adres = eczane.Adres; var enlem = eczane.Enlem; var boylam = eczane.Boylam; var telefonNo = eczane.TelefonNo; var adresTarifi = eczane.AdresTarifi; var adresTarifiKisa = eczane.AdresTarifiKisa; model.NobetciEczaneler.Add(new NobetciEczane { EczaneId = item.EczaneId, NobetUstGrupId = item.NobetUstGrupId, Adi = item.EczaneAdi, NobetGorevTipAdi = item.NobetGorevTipAdi, NobetGrupAdi = item.NobetGrupAdi, Adres = adres, Enlem = enlem, Boylam = boylam, TelefonNo = telefonNo, AdresTarifi = adresTarifi, AdresTarifiKisa = adresTarifiKisa, EczaneninAcikOlduguSaatAraligi = item.EczaneninAcikOlduguSaatAraligi }); } return(View(model)); }
// GET: EczaneNobet/Eczane public ActionResult Index() { var eczaneId = Convert.ToInt32(RouteData.Values["eczaneId"]); //var name = (string)RouteData.Values["name"]; //var password = (string)RouteData.Values["password"]; var user = new User();// _userService.GetByUserName(User.Identity.Name); if (User.Identity.Name == "" //&& name != null && password != null ) { //user = _userService.GetByUserNameAndPassword(name, password); } else { //user = _userService.GetByUserName(User.Identity.Name); } //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user).Select(s => s.Id).ToList(); var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); int nobetUstGrupId = nobetUstGrup.Id; //nobetUstGrupId = 3; //ay = 10; //gun = 10; var gosterilecekTarih = DateTime.Today; var gosterilecekTarihDun = DateTime.Today.AddDays(-1); //eczaneId = 69; //if (nobetUstGrupId != 2 || nobetUstGrupId != 3 // //nobetUstGrupId == 1 // ) //{ // nobetUstGrupId = 3; //} if (eczaneId == 0) { //nobetUstGrupId = nobetUstGruplar.FirstOrDefault(); if (nobetUstGrupId == 1) { eczaneId = 37; } else if (nobetUstGrupId == 2) { eczaneId = 69; } else if (nobetUstGrupId == 3) { eczaneId = 600; } else if (nobetUstGrupId == 4) { eczaneId = 857; } else if (nobetUstGrupId == 5) { eczaneId = 917; } else { eczaneId = 69; } } var IPadres = Request.UserHostAddress; // var ekraninBulundugueczane = _eczaneService.GetList().Where(w=>w.IPadress == IPadres); var ekraninBulundugueczane = _eczaneService.GetById(eczaneId); nobetUstGrupId = ekraninBulundugueczane.NobetUstGrupId; var nobetciEczaneler = _eczaneNobetSonucService.GetDetaylarGunluk(gosterilecekTarih, nobetUstGrupId) //.Take(8) .ToList(); var nobetciEczanelerDun = _eczaneNobetSonucService.GetDetaylarGunluk(gosterilecekTarihDun, nobetUstGrupId); //nobetciEczaneler = nobetciEczaneler.Concat(nobetciEczanelerDun).ToList(); //foreach (var item in nobetciEczaneler) //{ // Int32 AcilisSaati = Convert.ToInt32(item.NobetGorevTipAdi.Substring(0, 2)); // Int32 AcilisDakika = Convert.ToInt32(item.NobetGorevTipAdi.Substring(3, 2)); // Int32 KapanisDaat = Convert.ToInt32(item.NobetGorevTipAdi.Substring(8, 2)); // Int32 KapanisDakika = Convert.ToInt32(item.NobetGorevTipAdi.Substring(11, 2)); //} //nobetciEczaneler = (from n in nobetciEczaneler // let kapanisSaati = Convert.ToInt32(n.NobetGorevTipAdi.Substring(8, 2)) // where // //0123456789 (index) // //08:30 - 08:30 (NobetAltGrupAdi) // kapanisSaati >= 12 ? //ertesi güne sarkmıyor, // //(ertesi güne sarkanlar sabah saatinde yani öğlen 12 den önce kapanıyorlar) // kapanisSaati < DateTime.Now.Hour // ://nöbet görev tipi ertesi güne sarkıyor ise // kapanisSaati >= DateTime.Now.Hour // select n //).ToList(); //; nobetciEczaneler = nobetciEczaneler.Concat(nobetciEczanelerDun).ToList(); nobetciEczaneler = nobetciEczaneler.Where(w => //0123456789 (index) //08:30 - 08:30 (NobetGorevTipAdi) Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) >= 12 ? //ertesi güne sarkmıyor, //(ertesi güne sarkanlar sabah saatinde yani öğlen 12 den önce kapanıyorlar) ( //açılış saati den daha sonraki.. (((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) == DateTime.Now.Hour &&//saat eşit Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(3, 2)) <= DateTime.Now.Minute) ||//ve dakika küçükse Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) < DateTime.Now.Hour))//ya da direk saat küçükse && //..kapanış saatindn önceki zaman diliminde... (((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) == DateTime.Now.Hour &&//saat eşit Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(11, 2)) > DateTime.Now.Minute) ||//ve dakika büyükse Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) > DateTime.Now.Hour)) &&//ya da direk saat büyükse w.Tarih == DateTime.Today ) ://nöbet görev tipi ertesi güne sarkıyor ise ( //açılış saati den daha sonraki.. //(((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) == DateTime.Now.Hour//saat eşit // && Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(3, 2)) <= DateTime.Now.Minute)//ve dakika küçükse // || Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) < DateTime.Now.Hour))//ya da direk saat küçükse //&& //kapanış saatinden önce.. (((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) == DateTime.Now.Hour &&//saat eşit Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(11, 2)) > DateTime.Now.Minute) ||//ve dakika büyükse Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) > DateTime.Now.Hour) //ya da direk saat büyükse //..ve dünün nöbetçisi ise && w.Tarih == DateTime.Today.AddDays(-1) ) ||//ya da //açılış saati den daha sonraki.. (((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) == DateTime.Now.Hour &&//saat eşit Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(3, 2)) <= DateTime.Now.Minute) ||//ve dakika küçükse Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(0, 2)) < DateTime.Now.Hour))//ya da direk saat küçükse && //kapanış saatinden sonra.. (((Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) == DateTime.Now.Hour &&//saat eşit Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(11, 2)) < DateTime.Now.Minute) ||//ve dakika küçükse Convert.ToInt32(w.EczaneninAcikOlduguSaatAraligi.Substring(8, 2)) < DateTime.Now.Hour) //ya da direk saat küçükse //..ve bugünün nöbetçileri gözüksün && w.Tarih == DateTime.Today ) ) ).ToList(); var model = new NobetciEcanelerEkraniViewModel { NobetciEczaneler = new List <NobetciEczane>(), NobetciEcanelerEkraniTipId = 1, EkraninBulunduguEczane = new NobetciEczane { Adi = ekraninBulundugueczane.Adi, Adres = ekraninBulundugueczane.Adres, TelefonNo = ekraninBulundugueczane.TelefonNo, Enlem = ekraninBulundugueczane.Enlem, Boylam = ekraninBulundugueczane.Boylam, AdresTarifiKisa = ekraninBulundugueczane.AdresTarifiKisa, AdresTarifi = ekraninBulundugueczane.AdresTarifi, NobetUstGrupId = ekraninBulundugueczane.NobetUstGrupId //NobetGorevTipAdi = ekraninBulundugueczane.EczaneGorevTipler } }; 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.NobetciEczaneler.Add(new NobetciEczane { EczaneId = item.EczaneId, Adi = item.EczaneAdi,//.First().ToString().ToUpper() + item.EczaneAdi.Substring(1).ToLower(), Adres = adres, Enlem = enlem, Boylam = boylam, TelefonNo = telefonNo, AdresTarifi = adresTarifi, AdresTarifiKisa = adresTarifiKisa != null ? adresTarifiKisa.ToUpper() : adresTarifiKisa, NobetGorevTipAdi = item.NobetGorevTipAdi, EczaneninAcikOlduguSaatAraligi = item.EczaneninAcikOlduguSaatAraligi, NobetUstGrupId = item.NobetUstGrupId }); } model.NobetciEczaneler = model.NobetciEczaneler.Where(w => w.KapanisSaati > DateTime.Now).ToList(); model.Saat = DateTime.Now; return(View(model)); }