/// <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); }
/// <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)); }