Ejemplo n.º 1
0
        // 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());
        }
Ejemplo n.º 2
0
        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);
        }