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); }
public ActionResult Index() { 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 nobetUstGrup1 = nobetUstGruplar.FirstOrDefault(); var nobetUstGrup = _nobetUstGrupService.GetDetay(nobetUstGrup1.Id); var ustGrupSession = _nobetUstGrupSessionService.GetSession("nobetUstGrup"); if (ustGrupSession.Id != 0) { nobetUstGrup = ustGrupSession; } var gelecekTarih = DateTime.Now.AddMonths(1); var gelecekAy = gelecekTarih.Month; var yilCozulen = gelecekTarih.Year; int aydakiGunSayisi = DateTime.DaysInMonth(yilCozulen, gelecekAy); if (TempData["kesinlesenNobetGrupId"] != null) { ViewBag.KesinlesenGrup = TempData["kesinlesenNobetGrupId"]; ViewBag.KesinlesenGrupSayisi = TempData["KesinlesenNobetGrupSayisi"]; ViewBag.KesinlesenBaslangicTarihi = Convert.ToDateTime(TempData["KesinlesenBaslangicTarihi"]).ToShortDateString(); ViewBag.KesinlesenBitisTarihi = Convert.ToDateTime(TempData["KesinlesenBitisTarihi"]).ToShortDateString(); } var baslangicTarihi = DateTime.Today; //new DateTime(gelecekTarih.Year, gelecekTarih.Month, 1); var bitisTarihi = new DateTime(gelecekTarih.Year, gelecekTarih.Month, aydakiGunSayisi); var calismalar = new List <MyDrop>() { new MyDrop { Id = 0, Value = "1 kez çöz." }, new MyDrop { Id = 1, Value = "Çözüm yoksa tekrar çöz." }, //new MyDrop{ Id = 3, Value = "" }, }; ViewBag.NobetUstGrupId = new SelectList(items: nobetUstGruplar, dataValueField: "Id", dataTextField: "Adi", selectedValue: nobetUstGrup.Id); ViewBag.CalismaSayisi = new SelectList(items: calismalar, dataValueField: "Id", dataTextField: "Value", selectedValue: 0); ViewBag.NobetUstGrupSayisi = nobetUstGruplar.Count; var sonNobetTarihi = _eczaneNobetSonucService.GetSonNobetTarihi(nobetUstGrup.Id); var model = new NobetYazViewModel { RolId = rolId, NobetUstGrupId = nobetUstGrup.Id, BaslangicTarihi = sonNobetTarihi < nobetUstGrup.BaslangicTarihi ? nobetUstGrup.BaslangicTarihi : baslangicTarihi, BitisTarihi = bitisTarihi, SonNobetTarihi = sonNobetTarihi < nobetUstGrup.BaslangicTarihi ? nobetUstGrup.BaslangicTarihi.AddDays(-1) : sonNobetTarihi, CalismaSayisi = 0, TimeLimit = nobetUstGrup.TimeLimit }; if (TempData["KesinlesenBaslangicTarihi"] != null) { model.BaslangicTarihi = (DateTime)TempData["KesinlesenBaslangicTarihi"]; } if (TempData["KesinlesenBitisTarihi"] != null) { model.BitisTarihi = (DateTime)TempData["KesinlesenBitisTarihi"]; } if (TempData["TaslaktakiBaslamaTarihi"] != null) { model.BaslangicTarihi = (DateTime)TempData["TaslaktakiBaslamaTarihi"]; } if (TempData["TaslaktakiBitisTarihi"] != null) { model.BitisTarihi = (DateTime)TempData["TaslaktakiBitisTarihi"]; } return(View(model)); }