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));
        }
Exemple #2
0
        // 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));
        }