示例#1
0
        // GET: EczaneNobet/NobetGrupGorevTip/Details/5
        public ActionResult Details(int id)
        {
            if (id < 1)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NobetGrupGorevTipDetay nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(id);

            if (nobetGrupGorevTip == null)
            {
                return(HttpNotFound());
            }
            return(View(nobetGrupGorevTip));
        }
示例#2
0
        public ActionResult Create([Bind(Include = "Id,EczaneId,NobetGrupGorevTipId,BaslangicTarihi,BitisTarihi,Aciklama,EnErkenTarihteNobetYazilsinMi")] EczaneNobetGrupCoklu eczaneNobetGrupCoklu)
        {
            var eczaneNobetGruplar = new List <EczaneNobetGrup>();

            foreach (var eczaneId in eczaneNobetGrupCoklu.EczaneId)
            {
                eczaneNobetGruplar.Add(new EczaneNobetGrup
                {
                    EczaneId            = eczaneId,
                    NobetGrupGorevTipId = eczaneNobetGrupCoklu.NobetGrupGorevTipId,
                    BaslangicTarihi     = eczaneNobetGrupCoklu.BaslangicTarihi,
                    BitisTarihi         = eczaneNobetGrupCoklu.BitisTarihi,
                    Aciklama            = eczaneNobetGrupCoklu.Aciklama
                });
            }

            var eklenecekEczaneSayisi = eczaneNobetGruplar.Count;

            if (ModelState.IsValid && eklenecekEczaneSayisi > 0)
            {
                NobetGrubunaEczaneleriEkle(eczaneNobetGrupCoklu, eczaneNobetGruplar);
                //else if (nobetUstGrupId == 1)
                //{

                //}

                ViewBag.EklenenEczaneSayisi = eklenecekEczaneSayisi;
                ViewBag.EklenenNobetGrupAdi = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId).NobetGrupAdi;
                return(RedirectToAction("Index"));
            }

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGrup = _nobetUstGrupService.GetListByUser(user).FirstOrDefault();
            var nobetGruplar = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var eczaneler    = _eczaneService.GetList(nobetUstGrup.Id).OrderBy(s => s.Adi).ToList();

            ViewBag.EczaneId            = new SelectList(eczaneler, "Id", "Adi", eczaneNobetGrupCoklu.EczaneId);
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGruplar, "Id", "NobetGrupGorevTipAdi", eczaneNobetGrupCoklu.NobetGrupGorevTipId);
            return(View()); //eczaneNobetGrup
        }
        public ActionResult Create([Bind(Include = "Id,NobetUstGrupKisitId,NobetGrupGorevTipId,PasifMi,SagTarafDegeri,VarsayilanPasifMi,SagTarafDegeriVarsayilan,Aciklama")] NobetGrupGorevTipKisit nobetGrupGorevTipKisit)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var nobetUstGrupKisit = _nobetUstGrupKisitService.GetById(nobetGrupGorevTipKisit.NobetUstGrupKisitId);

                    var nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(nobetGrupGorevTipKisit.NobetGrupGorevTipId);

                    var nobetUstGrupId = nobetUstGrupKisit.NobetUstGrupId;

                    var kisitOnce = _nobetUstGrupKisitService.GetDetay(nobetUstGrupKisit.KisitId, nobetUstGrupId);

                    kisitOnce.KisitKategoriAdi += $"_{nobetGrupGorevTip.NobetGrupAdi}";

                    var nobetUstGrupKisitSession = _nobetUstGrupKisitSessionService.GetSessionList("nobetUstGrupKisitSession", nobetUstGrupId);

                    _nobetGrupGorevTipKisitService.Insert(nobetGrupGorevTipKisit);

                    var kisitSonra = _nobetUstGrupKisitService.GetDetay(nobetUstGrupKisit.KisitId, nobetUstGrupId);

                    _nobetUstGrupKisitSessionService.AddSessionList(kisitOnce, kisitSonra, "nobetUstGrupKisitSession", nobetUstGrupKisitSession);

                    nobetUstGrupKisitSession = _nobetUstGrupKisitSessionService.GetSessionList("nobetUstGrupKisitSession", kisitOnce.NobetUstGrupId);
                }
                catch (DbUpdateException ex)
                {
                    var hata = ex.InnerException.ToString();

                    string[] dublicateHata = { "Cannot insert dublicate row in object", "with unique index" };

                    var dublicateRowHatasiMi = dublicateHata.Any(h => hata.Contains(h));

                    if (dublicateRowHatasiMi)
                    {
                        throw new Exception("<strong>Bir Nöbet Grubu için iki kural kaydı eklenemez...</strong>");
                    }

                    throw ex;
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return(RedirectToAction("Index"));
            }
            //var user = _userService.GetByUserName(User.Identity.Name);

            //var nobetUstGruplar = _nobetUstGrupService.GetListByUser(user);
            //var nobetUstGrup = nobetUstGruplar.FirstOrDefault();
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var nobetUstGrupKisitlar = _nobetUstGrupKisitService.GetDetaylar(nobetUstGrup.Id);

            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "NobetGrupGorevTipAdi", nobetGrupGorevTipKisit.NobetGrupGorevTipId);
            ViewBag.NobetUstGrupKisitId = new SelectList(nobetUstGrupKisitlar, "Id", "KisitAdiUzun", nobetGrupGorevTipKisit.NobetUstGrupKisitId);

            return(View(nobetGrupGorevTipKisit));
        }
示例#4
0
        public ActionResult Index(string degisecekNobetGrupKurallar)
        {
            List <int> nobetUstGruplar = new List <int>();
            var        cor             = "Seçim Yapmadınız!";

            if (degisecekNobetGrupKurallar == "")
            {
                return(Json(cor, JsonRequestBehavior.AllowGet));
            }

            NobetGrupKuralCoklu model = new NobetGrupKuralCoklu();
            NobetGrupKuralDetay nobetGrupKuralDetay = new NobetGrupKuralDetay();
            var liste = degisecekNobetGrupKurallar.Split(',');

            int i = 0;

            foreach (string item in liste)
            {
                nobetGrupKuralDetay = _nobetGrupKuralService.GetDetayById(Convert.ToInt32(item));
                if (i == 0)
                {
                    model.Id = nobetGrupKuralDetay.Id.ToString();
                }
                else
                {
                    model.Id = model.Id + "," + nobetGrupKuralDetay.Id.ToString();
                }
                i++;
            }

            model.NobetKuralId = nobetGrupKuralDetay.NobetKuralId;
            model.Deger        = Convert.ToInt32(nobetGrupKuralDetay.Deger);


            var user = _userService.GetByUserName(User.Identity.Name);

            //var nobetGrup = new NobetGrup();
            var nobetGruplar = new List <NobetGrupGorevTipDetay>();
            var liste2       = model.Id.Split(',');

            foreach (var item in liste2)
            {
                int nobetGrupid = _nobetGrupKuralService.GetById(Convert.ToInt32(item)).NobetGrupGorevTipId;
                var nobetGrup   = _nobetGrupGorevTipService.GetDetayById(nobetGrupid);
                nobetGruplar.Add(nobetGrup);
            }
            //var nobetGruplar = _nobetGrupService.GetListByUser(user);
            model.BaslangicTarihi = nobetGrupKuralDetay.BaslangicTarihi;
            model.BitisTarihi     = Convert.ToDateTime(nobetGrupKuralDetay.BitisTarihi);
            model.Deger           = Convert.ToInt32(nobetGrupKuralDetay.Deger);
            model.NobetKuralId    = nobetGrupKuralDetay.NobetKuralId;

            var nobetGrupGorevTipler = nobetGruplar
                                       .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}"
            }).ToList();

            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "Value");
            ViewBag.NobetKuralId        = new SelectList(_nobetKuralService.GetList().OrderBy(s => s.Adi).Select(s => new { s.Id, s.Adi }), "Id", "Adi");

            //TempData["DegisenNobetGrupKuralSayisi"] = liste.Length;

            return(View("EditCoklu", model));
        }
        public ActionResult Create([Bind(Include = "Id,EczaneId,NobetGrupGorevTipId,BaslangicTarihi,BitisTarihi,Aciklama,EnErkenTarihteNobetYazilsinMi")] EczaneNobetGrupCoklu eczaneNobetGrupCoklu)
        {
            var eczaneNobetGruplar = new List <EczaneNobetGrup>();

            foreach (var eczaneId in eczaneNobetGrupCoklu.EczaneId)
            {
                eczaneNobetGruplar.Add(new EczaneNobetGrup
                {
                    EczaneId            = eczaneId,
                    NobetGrupGorevTipId = eczaneNobetGrupCoklu.NobetGrupGorevTipId,
                    BaslangicTarihi     = eczaneNobetGrupCoklu.BaslangicTarihi,
                    BitisTarihi         = eczaneNobetGrupCoklu.BitisTarihi,
                    Aciklama            = eczaneNobetGrupCoklu.Aciklama
                });
            }

            var eklenecekEczaneSayisi = eczaneNobetGruplar.Count;

            if (ModelState.IsValid && eklenecekEczaneSayisi > 0)
            {
                var eklenenNobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId);

                TempData["EklenenEczane"] = $"{eklenenNobetGrupGorevTip.NobetGrupGorevTipAdi} nöbet grubuna {eczaneNobetGrupCoklu.EczaneId.Count()} adet eczane başarılı bir şekilde eklenmiştir.";

                _eczaneNobetGrupService.CokluEkle(eczaneNobetGruplar);

                var gruptakiEczaneler       = _eczaneNobetGrupService.GetDetaylarByNobetGrupGorevTipler(eczaneNobetGrupCoklu.NobetGrupGorevTipId);
                var eczaneIdList            = eczaneNobetGruplar.Select(s => s.EczaneId).ToList();
                var eczaneNobetGrupDetaylar = _eczaneNobetGrupService.GetDetaylar(eczaneIdList, eczaneNobetGrupCoklu.NobetGrupGorevTipId);

                if (eklenenNobetGrupGorevTip.NobetUstGrupId == 2)
                {     //antalya'da planlanan nöbetleri yazmak için
                    if (eczaneNobetGrupDetaylar.Count > 0)
                    { //grupta eczaneler var. grup yeni değil. tekli olarak eklenen eczaneler için planlanan nöbetler yeniden yazılacak.
                        #region planlanan nöbetler - sıralı nöbet yazma (gün grubu bazında)

                        var baslangicTarihi = eczaneNobetGrupDetaylar.Min(s => s.BaslangicTarihi);

                        var sonTarih = baslangicTarihi.AddYears(1);

                        var planlananNobetlerinYazilacagiSonTarih = new DateTime(sonTarih.Year, 12, 31);

                        var planlananNobetlerinYazilacagiNobetGrubu = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId);

                        _takvimService.SiraliNobetYazGrupBazindaOncekiNobetGrubaGore(planlananNobetlerinYazilacagiNobetGrubu, gruptakiEczaneler, baslangicTarihi, planlananNobetlerinYazilacagiSonTarih);

                        #endregion
                    }
                    else
                    {//gruba ilk kez eczane ekleniyor
                    }
                }

                var nobetGrupGorevTip = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId);
                var nobetUstGrupId    = nobetGrupGorevTip.NobetUstGrupId;

                if (nobetUstGrupId == 1 || //alanya
                    nobetUstGrupId == 3 ||//mersin
                    nobetUstGrupId == 4 ||//giresun
                    nobetUstGrupId == 5   //osmaniye
                    )
                {
                    var eklenenIkiliEczaneler = _ayniGunTutulanNobetService.IkiliEczaneleriOlustur(eczaneNobetGrupDetaylar);
                }
                //else if (nobetUstGrupId == 1)
                //{

                //}

                ViewBag.EklenenEczaneSayisi = eklenecekEczaneSayisi;
                ViewBag.EklenenNobetGrupAdi = _nobetGrupGorevTipService.GetDetayById(eczaneNobetGrupCoklu.NobetGrupGorevTipId).NobetGrupAdi;
                return(RedirectToAction("Index"));
            }

            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            //var user = _userService.GetByUserName(User.Identity.Name);
            //var nobetUstGrup = _nobetUstGrupService.GetListByUser(user).FirstOrDefault();
            var nobetGruplar = _nobetGrupGorevTipService.GetDetaylar(nobetUstGrup.Id);
            var eczaneler    = _eczaneService.GetList(nobetUstGrup.Id).OrderBy(s => s.Adi).ToList();

            ViewBag.EczaneId            = new SelectList(eczaneler, "Id", "Adi", eczaneNobetGrupCoklu.EczaneId);
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGruplar, "Id", "NobetGrupGorevTipAdi", eczaneNobetGrupCoklu.NobetGrupGorevTipId);
            return(View()); //eczaneNobetGrup
        }