예제 #1
0
        private List <EczaneNobetSonucListe2> GetSonuclar(List <EczaneNobetSonucDetay2> eczaneNobetSonucDetaylar)
        {
            var nobetUstGrupId = eczaneNobetSonucDetaylar.Select(s => s.NobetUstGrupId).Distinct().FirstOrDefault();

            var nobetGrupGorevTipGunKurallar      = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrupId);
            var nobetGrupGorevTipTakvimOzelGunler = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(nobetUstGrupId);

            var liste = _eczaneNobetOrtakService.EczaneNobetSonucBirlesim(nobetGrupGorevTipGunKurallar, eczaneNobetSonucDetaylar, nobetGrupGorevTipTakvimOzelGunler, EczaneNobetSonucTuru.Planlanan);

            return(liste);
        }
        public List <EczaneNobetSonucListe2> GetSonuclar3(List <EczaneNobetSonucDetay2> eczaneNobetSonucDetaylar, int nobetUstGrupId)
        {
            //var sw = new Stopwatch();
            //sw.Start();
            var nobetGrupGorevTipGunKurallar = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrupId);
            //var s1 = sw.Elapsed;
            //sw.Restart();
            var nobetGrupGorevTipTakvimOzelGunler = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(nobetUstGrupId);
            //var s2 = sw.Elapsed;
            //sw.Restart();
            //var mazeretler = _eczaneNobetMazeretService.GetDetaylar(nobetUstGrupId);
            //var s3 = sw.Elapsed;
            //sw.Restart();
            //var istekler = _eczaneNobetIstekService.GetDetaylar(nobetUstGrupId);
            //var s4 = sw.Elapsed;
            //sw.Restart();
            var sonuclar = _eczaneNobetOrtakService.EczaneNobetSonucBirlesim(nobetGrupGorevTipGunKurallar, eczaneNobetSonucDetaylar, nobetGrupGorevTipTakvimOzelGunler, EczaneNobetSonucTuru.Taslak);

            //var s5 = sw.Elapsed;
            //sw.Stop();

            return(sonuclar);

            //var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrupId);
            ////var bayramlar = _bayramService.GetDetaylar(nobetUstGrupId);
            //var mazeretler = _eczaneNobetMazeretService.GetDetaylar(nobetUstGrupId);
            //var nobetGrupGorevTipGunKurallar = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrupId);
            //var nobetGrupGorevTipTakvimOzelGunler = _nobetGrupGorevTipTakvimOzelGunService.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,
            //                  s.NobetGrupGorevTipId,
            //                  s.Tarih,
            //                  s.NobetUstGrupId,
            //                  s.EczaneId,
            //                  b.NobetGorevTipAdi,
            //              }).ToList();

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

            //var liste = (from s in liste2
            //             from b in nobetGrupGorevTipTakvimOzelGunler
            //                           .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,
            //                 GunTanim = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
            //                 ? b.NobetGunKuralAdi
            //                 : culture.DateTimeFormat.GetDayName(s.Tarih.DayOfWeek),
            //                 GunGrupAdi = (b?.TakvimId == s.TakvimId && b?.NobetGrupGorevTipId == s.NobetGrupGorevTipId)
            //                             ? b.GunGrupAdi
            //                             : nobetGrupGorevTipGunKurallar.SingleOrDefault(w => w.NobetGrupGorevTipId == s.NobetGrupGorevTipId
            //                                && w.NobetGunKuralId == (int)s.Tarih.DayOfWeek + 1).GunGrupAdi,
            //                 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,
            //                 NobetGrupGorevTipId = s.NobetGrupGorevTipId
            //             }).ToList();
            //return liste;
        }