Exemplo n.º 1
0
        public ActionResult SearchWithBayram(int?NobetGrupId = 0, int?BayramTurId = 0)
        {
            var user           = _userService.GetByUserName(User.Identity.Name);
            var nobetGruplar   = _nobetGrupService.GetListByUser(user).ToList();
            var nobetGrupIdlar = nobetGruplar.Select(s => s.Id).ToList();

            if (NobetGrupId != 0)
            {
                nobetGrupIdlar = _nobetGrupService.GetListByUser(user)
                                 .Where(w => w.Id == NobetGrupId)
                                 .Select(s => s.Id).ToList();
            }

            var bayramTurIdlar = _bayramTurService.GetList()
                                 .Select(s => s.Id).ToList();

            if (BayramTurId != 0)
            {
                bayramTurIdlar = _bayramTurService.GetList()
                                 .Where(w => w.Id == BayramTurId)
                                 .Select(s => s.Id).ToList();
            }

            var bayramTurler = _bayramTurService.GetList().ToList();

            var nobetGrupGorevTipIdler = _nobetGrupGorevTipService.GetList()
                                         .Where(w => nobetGrupIdlar.Contains(w.NobetGrupId))
                                         .Select(s => s.Id).ToList();

            var bayramlar = _bayramService.GetDetaylar()
                            .Where(w => nobetGrupGorevTipIdler.Contains(w.NobetGrupGorevTipId) &&
                                   bayramTurIdlar.Contains(w.BayramTurId))
                            .OrderBy(o => o.Tarih).ToList();

            ViewBag.BayramTurId = new SelectList(bayramTurler, "Id", "Adi");
            ViewBag.NobetGrupId = new SelectList(nobetGruplar, "Id", "Adi");

            return(PartialView("BayramPartialView", bayramlar));
        }
        public List <EczaneNobetSonucListe2> GetSonuclar2(List <EczaneNobetSonucDetay2> eczaneNobetSonucDetaylar, int nobetUstGrupId)
        {
            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrupId);
            var bayramlar            = _bayramService.GetDetaylar(nobetUstGrupId);
            var mazeretler           = _eczaneNobetMazeretService.GetDetaylar(nobetUstGrupId);

            var liste2 = (from s in eczaneNobetSonucDetaylar
                          join b in nobetGrupGorevTipler
                          on new { s.NobetGrupId, s.NobetGorevTipId }
                          equals new { b.NobetGrupId, b.NobetGorevTipId }
                          select new
            {
                s.NobetGorevTipId,
                s.TakvimId,
                s.EczaneNobetGrupId,
                s.EczaneAdi,
                s.NobetGrupAdi,
                s.NobetGrupId,
                NobetGrupGorevTipId = b.Id,
                s.Tarih,
                s.NobetUstGrupId,
                s.EczaneId,
                b.NobetGorevTipAdi
            }).ToList();

            var culture = new CultureInfo("tr-TR");

            var liste = (from s in liste2
                         from b in bayramlar
                         .Where(w => w.TakvimId == s.TakvimId &&
                                w.NobetGrupGorevTipId == s.NobetGrupGorevTipId).DefaultIfEmpty()
                         from m in mazeretler
                         .Where(w => w.TakvimId == s.TakvimId &&
                                w.EczaneNobetGrupId == s.EczaneNobetGrupId).DefaultIfEmpty()
                         select new EczaneNobetSonucListe2
            {
                Yil = s.Tarih.Year,
                Ay = s.Tarih.Month,
                EczaneNobetGrupId = s.EczaneNobetGrupId,
                EczaneId = s.EczaneId,
                EczaneAdi = s.EczaneAdi,
                NobetGrupAdi = s.NobetGrupAdi,
                NobetGrupId = s.NobetGrupId,
                NobetUstGrupId = s.NobetUstGrupId,
                NobetGunKuralId = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                             ? b.NobetGunKuralId
                             : (int)s.Tarih.DayOfWeek + 1,
                NobetGunKuralAdi = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                             ? b.NobetGunKuralAdi
                             : culture.DateTimeFormat.GetDayName(s.Tarih.DayOfWeek),
                GunGrupAdi = s.NobetUstGrupId == 3
                             ? ((b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                                ? "Bayram"
                                : (s.Tarih.DayOfWeek == 0 || (int)s.Tarih.DayOfWeek == 6)
                                ? culture.DateTimeFormat.GetDayName(s.Tarih.DayOfWeek)
                                : "Hafta İçi")
                             : ((b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
                                ? "Bayram"
                                : s.Tarih.DayOfWeek == 0
                                ? "Pazar"
                                : "Hafta İçi"),
                Gun = s.Tarih.Day,
                Tarih = s.Tarih,
                TakvimId = s.TakvimId,
                MazeretId = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretId : 0,
                Mazeret = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretAdi : null,
                MazeretTuru = (m?.TakvimId == s.TakvimId && m?.EczaneNobetGrupId == s.EczaneNobetGrupId) ? m.MazeretTuru : null,
                NobetGorevTipAdi = s.NobetGorevTipAdi,
                NobetGorevTipId = s.NobetGorevTipId,
                SonucTuru = EczaneNobetSonucTuru.Taslak
            }).ToList();

            return(liste);
        }