// GET: EczaneNobet/NobetAltGrup/Create public ActionResult Create() { //var user = _userService.GetByUserName(User.Identity.Name); var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList(); ViewBag.NobetGrupGorevTipId = new SelectList(_nobetGrupGorevTipService.GetDetaylarByIdList(nobetGrupGorevTipler).Select(s => new MyDrop { Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}" }), "Id", "Value"); return(View()); }
public ActionResult ModelCoz(NobetYazViewModel eczaneNobetViewModel) { var stopwatch = new Stopwatch(); stopwatch.Start(); if (eczaneNobetViewModel.TimeLimit > 1200) { throw new Exception($"Süre limiti en fazla {1200} saniye olabilir. Fazlası için lütfen Nöbetyaz yönetim ile irtiata geçiniz."); } var nobetUstGrup = _nobetUstGrupService.GetDetay(eczaneNobetViewModel.NobetUstGrupId); //if (ModelState.IsValid) //{ var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylarByIdList(eczaneNobetViewModel.NobetGrupGorevTipId.ToList()); var nobetGrupIdList = nobetGrupGorevTipler.Select(s => s.NobetGrupId).Distinct().ToArray(); if (nobetGrupIdList == null) { nobetGrupIdList = new int[1] { 0 } } ; var eczaneNobetModelCoz = new EczaneNobetModelCoz { BuAyVeSonrasi = eczaneNobetViewModel.BuAyVeSonrasi, NobetGrupGorevTipler = nobetGrupGorevTipler, NobetGrupId = nobetGrupIdList, //eczaneNobetViewModel.NobetGrupId, NobetUstGrupId = eczaneNobetViewModel.NobetUstGrupId, RolId = eczaneNobetViewModel.RolId, AyBitis = eczaneNobetViewModel.BitisTarihi.Month, NobetUstGrupBaslangicTarihi = nobetUstGrup.BaslangicTarihi, CozumTercih = eczaneNobetViewModel.CozumTercih, SonrakiAylarRasgele = eczaneNobetViewModel.SonrakiAylarRasgele, BaslangicTarihi = eczaneNobetViewModel.BaslangicTarihi, BitisTarihi = eczaneNobetViewModel.BitisTarihi, TimeLimit = eczaneNobetViewModel.TimeLimit, CalismaSayisi = eczaneNobetViewModel.CalismaSayisi }; var sonucModel = new EczaneNobetSonucModel(); switch (nobetUstGrup.Id) { case 1: sonucModel = _alanyaOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 2: sonucModel = _antalyaMerkezOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 3: sonucModel = _mersinMerkezOptimizationServiceV2.ModelCoz(eczaneNobetModelCoz); break; case 4: sonucModel = _giresunOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 5: sonucModel = _osmaniyeOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 6: sonucModel = _bartinOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 7: sonucModel = _zonguldakOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 8: sonucModel = _iskenderunOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 9: sonucModel = _corumOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 10: sonucModel = _kirikhanOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 11: sonucModel = _diyarbakirOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 12: sonucModel = _manavgatOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 13: sonucModel = _orduMerkezOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 14: sonucModel = _kayseriOptimizationService.ModelCoz(eczaneNobetModelCoz); break; case 15: sonucModel = _antakyaOptimizationService.ModelCoz(eczaneNobetModelCoz); break; default: return(RedirectToAction("Index")); } stopwatch.Stop(); sonucModel.ToplamSure = stopwatch.Elapsed; TempData["EczaneNobetSonuclar"] = sonucModel; if (eczaneNobetModelCoz.BuAyVeSonrasi) { return(RedirectToAction("PivotSonuclar", "EczaneNobetSonuc")); //RedirectToAction("PivotCozum", "EczaneNobetSonuc", //new { area = "EczaneNobet", nobetGrup = eczaneNobetModelCoz.NobetGrupId, yilBaslangic = eczaneNobetModelCoz.BaslangicTarihi.Year, yilBitis = eczaneNobetModelCoz.BitisTarihi.Year }); } else if (eczaneNobetModelCoz.CozumTercih == 0 && eczaneNobetModelCoz.NobetGrupId.Count() > 1) { return(RedirectToAction("PivotSonuclar", "EczaneNobetSonuc")); //return RedirectToAction("PivotCozum", "EczaneNobetSonuc", // new { area = "EczaneNobet", nobetGrup = eczaneNobetModelCoz.NobetGrupId, yilBaslangic = eczaneNobetModelCoz.BaslangicTarihi.Year, yilBitis = eczaneNobetModelCoz.BitisTarihi.Year }); } else if (nobetUstGrup.Id == 6 || nobetUstGrup.Id == 7 || nobetUstGrup.Id == 8) { return(RedirectToAction("PivotSonuclar", "EczaneNobetSonuc")); //return RedirectToAction("PivotCozum", "EczaneNobetSonuc", // new { area = "EczaneNobet", nobetGrup = eczaneNobetModelCoz.NobetGrupId, yilBaslangic = eczaneNobetModelCoz.BaslangicTarihi.Year, yilBitis = eczaneNobetModelCoz.BitisTarihi.Year }); } var routeValues = new PivotSonuclarParams { Area = "EczaneNobet", BaslangicTarihi = eczaneNobetModelCoz.BaslangicTarihi, BitisTarihi = eczaneNobetModelCoz.BitisTarihi }; int sayac = 0; foreach (var item in nobetGrupIdList) { if (sayac == 0) { routeValues.NobetGrupIdList = item.ToString(); } else { routeValues.NobetGrupIdList = routeValues.NobetGrupIdList + "," + item.ToString(); } sayac++; } return(RedirectToAction("PivotSonuclar", "EczaneNobetSonucAktif", routeValues)); //} //var user = _userService.GetByUserName(User.Identity.Name); //var rolIdler = _userService.GetUserRoles(user).OrderBy(s => s.RoleId).Select(u => u.RoleId).ToArray(); //var rolId = rolIdler.FirstOrDefault(); //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user); //var nobetUstGrup = nobetUstGruplar.FirstOrDefault(); //ViewBag.NobetUstGrupId = new SelectList(items: nobetUstGruplar, dataValueField: "Id", dataTextField: "Adi", selectedValue: nobetUstGrup.Id); //ViewBag.NobetUstGrupSayisi = nobetUstGruplar.Count; //return View("Index", eczaneNobetViewModel); }