Пример #1
0
        /// <summary>
        /// Eğer başka nöbet gruplarından kalan data varsa siler.
        /// --artık kayıtlar--
        /// </summary>
        public void AktiftekiArtiklariSil(int nobetUstGrupId)
        {
            var mevcutSonuclar = _eczaneNobetSonucAktifService.GetDetaylar2(nobetUstGrupId)
                                 .Select(s => s.Id).ToArray();

            //foreach (var mevcutSonuc in mevcutSonuclar)
            //{
            //    _eczaneNobetSonucAktifService.Delete(mevcutSonuc.Id);
            //}
            _eczaneNobetSonucAktifService.CokluSil(mevcutSonuclar);
        }
        /// <summary>
        /// Eğer başka nöbet gruplarından kalan data varsa siler.
        /// --artık kayıtlar--
        /// </summary>
        public void AktiftekiArtiklariSil(int nobetUstGrupId)
        {
            var mevcutSonuclar = _eczaneNobetSonucAktifService.GetDetaylar2(nobetUstGrupId)
                                 .Select(s => s.Id).ToArray();

            _eczaneNobetSonucAktifService.CokluSil(mevcutSonuclar);
        }
        /// <summary>
        /// Her çözüm sonrasında aktif sonuçlardaki mevcut kayıtlar silinip yerine yeni sonuçlar eklenir.
        /// </summary>
        /// <param name="data"></param>
        //[TransactionScopeAspect]
        public EczaneNobetSonucModel EczaneNobetCozAktifiGuncelle(KirikhanDataModel data)
        {
            var mevcutSonuclar        = _eczaneNobetSonucAktifService.GetDetaylar2(data.NobetUstGrupId);
            var guncellenecekSonuclar = mevcutSonuclar
                                        .Where(x => data.NobetGruplar.Select(s => s.Id).Contains(x.NobetGrupId))
                                        .Select(s => s.Id).ToArray();

            var yeniSonuclar = _eczaneNobetKirikhanOptimization.Solve(data);

            //gelen datadaki nöbet grup id aktif sonuçlarda varsa o nöbet gruba ait önceki sonuçları sil
            _eczaneNobetSonucAktifService.CokluSil(guncellenecekSonuclar);
            AktiftekiArtiklariSil(data.NobetUstGrupId);

            //yeni sonuçları ekle
            _eczaneNobetSonucAktifService.CokluEkle(yeniSonuclar.ResultModel);

            return(yeniSonuclar);
        }
Пример #4
0
        /// <summary>
        /// Her çözüm sonrasında aktif sonuçlardaki mevcut kayıtlar silinip yerine yeni sonuçlar eklenir.
        /// </summary>
        /// <param name="data"></param>
        public EczaneNobetSonucModel EczaneNobetCozAktifiGuncelle(MersinMerkezDataModelV2 data)
        {
            var mevcutSonuclar        = _eczaneNobetSonucAktifService.GetDetaylar2(data.NobetUstGrupId);
            var guncellenecekSonuclar = mevcutSonuclar
                                        .Where(x => data.NobetGruplar.Select(s => s.Id).Contains(x.NobetGrupId))
                                        .Select(s => s.Id).ToArray();

            var yeniSonuclar = _eczaneNobetMersinMerkezOptimizationV2.Solve(data);

            _eczaneNobetSonucAktifService.CokluSil(guncellenecekSonuclar);

            AktiftekiArtiklariSil(data.NobetUstGrupId);

            //yeni sonuçları ekle
            _eczaneNobetSonucAktifService.CokluEkle(yeniSonuclar.ResultModel);

            return(yeniSonuclar);
        }
        // GET: EczaneNobet/EczaneNobetSonucAktif
        public ActionResult Index(int nobetGrupId = 0, int yil = 2018, int ay = 0)
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = nobetUstGruplar.FirstOrDefault();
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var aktifSonuclar = _eczaneNobetSonucAktifService.GetDetaylar2(nobetUstGrup.Id)
                                .Where(w => (w.NobetGrupId == nobetGrupId || nobetGrupId == 0) &&
                                       (w.Tarih.Month == ay || ay == 0))
                                .OrderBy(x => x.TakvimId).ToList();

            TempData["NobetGrupId"] = nobetGrupId;
            TempData["Yil"]         = yil;
            TempData["Ay"]          = ay;

            return(View(aktifSonuclar));
        }