Пример #1
0
 public HttpResponseMessage GetNobetDegisimArz([FromBody] EczaneNobetDegisimArzApi eczaneNobetDegisimArzApi)
 {
     try
     {
         DateTime        dt_tarihi       = Convert.ToDateTime(eczaneNobetDegisimArzApi.Tarih);
         Takvim          takvim          = _takvimService.GetByTarih(dt_tarihi);
         User            User            = _userService.GetById(eczaneNobetDegisimArzApi.UserId);
         NobetUstGrup    nobetUstGrup    = _nobetUstGrupService.GetListByUser(User).FirstOrDefault();
         EczaneNobetGrup eczaneNobetGrup = new EczaneNobetGrup();
         eczaneNobetGrup = _eczaneNobetGrupService.GetById(eczaneNobetDegisimArzApi.EczaneNobetGrupId);
         List <EczaneNobetDegisimArzDetay> eczaneNobetDegisimArzDetayList = new List <EczaneNobetDegisimArzDetay>();
         eczaneNobetDegisimArzDetayList = _eczaneNobetDegisimArzService.GetDetaylar(nobetUstGrup.Id)
                                          .Where(w => w.NobetTarihi == dt_tarihi &&
                                                 w.NobetGrupId == eczaneNobetGrup.NobetGrupGorevTipId &&
                                                 w.NobetTarihi > DateTime.Now
                                                 //&& w.Onay == false
                                                 )
                                          .ToList();
         return(Request.CreateResponse(HttpStatusCode.OK, eczaneNobetDegisimArzDetayList));
     }
     catch (Exception e)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message + e.InnerException.StackTrace));
     }
 }
        public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,NobetTarihi,Aciklama")] EczaneNobetSanalSonucEkle eczaneNobetSanalSonuc)
        {
            if (eczaneNobetSanalSonuc.NobetTarihi == null)
            {
                throw new ArgumentNullException("Nöbet tarihi boş bırakılamaz.");
            }

            if (ModelState.IsValid)
            {
                var user   = _userService.GetByUserName(User.Identity.Name);
                var takvim = _takvimService.GetByTarih(eczaneNobetSanalSonuc.NobetTarihi);
                var eczane = _eczaneNobetGrupService.GetDetayById(eczaneNobetSanalSonuc.EczaneNobetGrupId);

                var sonucParametreler = new EczaneNobetSonuc
                {
                    TakvimId          = takvim.Id,
                    NobetGorevTipId   = eczane.NobetGorevTipId,
                    EczaneNobetGrupId = eczaneNobetSanalSonuc.EczaneNobetGrupId,
                    //YayimlandiMi = eczaneNobetSanalSonuc.YayimlandiMi
                };

                var sanalSonucParametreler = new EczaneNobetSanalSonuc
                {
                    //EczaneNobetSonucId = sonuc.Id,
                    KayitTarihi = DateTime.Now,
                    UserId      = user.Id,
                    Aciklama    = eczaneNobetSanalSonuc.Aciklama
                };

                _eczaneNobetSonucService.InsertSonuclarInsertSanalSonuclar(sonucParametreler, sanalSonucParametreler);

                return(RedirectToAction("Index"));
            }

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

            var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id);

            var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler.Select(s => s.Id).ToList())
                                     .OrderBy(s => s.EczaneAdi).ThenBy(t => t.NobetGrupAdi)
                                     .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
            });

            ViewBag.EczaneNobetGrupId = new SelectList(eczaneNobetGruplar, "Id", "Value", eczaneNobetSanalSonuc.EczaneNobetGrupId);

            return(View(eczaneNobetSanalSonuc));
        }
Пример #3
0
        public HttpResponseMessage MazeretEkle([FromBody] EczaneNobetMazeretApi eczaneNobetMazeretApi)
        {
            LoginItem loginUser;
            User      user;

            _yetkilendirme.YetkiKontrolu(eczaneNobetMazeretApi, out loginUser, out user);
            string token = _yetkilendirme.GetToken2(loginUser);

            if (user != null)
            {
                if (token == eczaneNobetMazeretApi.Token)
                {
                    try
                    {
                        Takvim             takvim             = _takvimService.GetByTarih(Convert.ToDateTime(eczaneNobetMazeretApi.Tarih));
                        EczaneNobetMazeret eczaneNobetMazeret = new EczaneNobetMazeret();
                        eczaneNobetMazeret.TakvimId          = takvim.Id;
                        eczaneNobetMazeret.EczaneNobetGrupId = eczaneNobetMazeretApi.EczaneNobetGrupId;
                        eczaneNobetMazeret.Aciklama          = eczaneNobetMazeretApi.Aciklama;
                        eczaneNobetMazeret.MazeretId         = Convert.ToInt32(eczaneNobetMazeretApi.MazeretId);
                        _eczaneNobetMazeretService.Insert(eczaneNobetMazeret);
                        return(Request.CreateResponse(HttpStatusCode.OK));
                    }
                    catch (Exception e)
                    {
                        return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message + e.InnerException.StackTrace));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.Conflict, "Token geçersiz."));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Kullanıcı adı ve şifresi geçersiz."));
            }
            //else
            // return Request.CreateResponse(HttpStatusCode.Unauthorized);
        }
Пример #4
0
        public ActionResult Create([Bind(Include = "Id,Tarih,NobetGrupGorevTipId,NobetGunKuralId,BayramTurId")] BayramCoklu bayramCoklu)
        {
            if (ModelState.IsValid)
            {
                var bayramlar = new List <Bayram>();

                foreach (var nobetGrupGorevTipId in bayramCoklu.NobetGrupGorevTipId)
                {
                    bayramlar.Add(new Bayram
                    {
                        TakvimId            = _takvimService.GetByTarih(bayramCoklu.Tarih).Id,
                        NobetGunKuralId     = bayramCoklu.NobetGunKuralId,
                        NobetGrupGorevTipId = nobetGrupGorevTipId,
                        BayramTurId         = bayramCoklu.BayramTurId
                    });
                }

                var eklenecekbayramSayisi = bayramlar.Count;

                if (ModelState.IsValid && eklenecekbayramSayisi > 0)
                {
                    _bayramService.CokluEkle(bayramlar);
                    TempData["EklenenBayramSayisi"] = eklenecekbayramSayisi;
                    return(RedirectToAction("Index"));
                }
                return(RedirectToAction("Index"));
            }

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

            var nobetGrupGorevTipler = _nobetGrupGorevTipService.GetDetaylar()
                                       .Where(w => nobetGruplar.Select(s => s.Id).Contains(w.NobetGrupId))
                                       .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}"
            });

            ViewBag.BayramTurId         = new SelectList(_bayramTurService.GetList(), "Id", "Adi", bayramCoklu.BayramTurId);
            ViewBag.NobetGrupGorevTipId = new SelectList(nobetGrupGorevTipler, "Id", "Value");
            ViewBag.NobetGunKuralId     = new SelectList(_nobetGunKuralService.GetList().Where(w => w.Id > 7), "Id", "Adi", bayramCoklu.NobetGunKuralId);
            ViewBag.TakvimId            = new SelectList(_takvimService.GetList(), "Id", "Tarih", bayramCoklu.Tarih);
            return(View(bayramCoklu));
        }
        public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,IstekId,BaslangicTarihi,BitisTarihi,HaftaninGunu,Aciklama,YinedeEklensinMi")] EczaneNobetIstekCoklu eczaneNobetIstekCoklu)
        {
            var nobetUstGrup       = _nobetUstGrupSessionService.GetSession("nobetUstGrup");
            var eczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylar(eczaneNobetIstekCoklu.EczaneNobetGrupId);
            var nobetUstGrupId     = eczaneNobetGruplar.Select(s => s.NobetUstGrupId).Distinct().SingleOrDefault();

            var tarihler = _takvimService.GetList()
                           .Select(s => new MyDrop {
                Id = s.Id, Value = s.Tarih.ToLongDateString()
            });

            if (eczaneNobetIstekCoklu.HaftaninGunu == null)
            {
                eczaneNobetIstekCoklu.HaftaninGunu = new int[1] {
                    0
                };
            }

            var haftaninGunu = eczaneNobetIstekCoklu.HaftaninGunu;

            var bayramlar = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi, eczaneNobetGruplar.Select(s => s.NobetGrupId).ToList(), 1)
                            .Where(w => eczaneNobetIstekCoklu.HaftaninGunu.Contains(w.NobetGunKuralId)).ToList();

            var tarihAraligi = _takvimService.GetDetaylar(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi);

            if (eczaneNobetIstekCoklu.HaftaninGunu.Count() > 0)
            {
                tarihAraligi = tarihAraligi.Where(w => eczaneNobetIstekCoklu.HaftaninGunu.Contains(w.HaftaninGunu) ||
                                                  bayramlar.Select(s => s.TakvimId).Contains(w.TakvimId)).ToList();
            }


            var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList();

            var baslangicTarihi = _takvimService.GetByTarih(eczaneNobetIstekCoklu.BaslangicTarihi);
            var bitisTarihi     = _takvimService.GetByTarih(eczaneNobetIstekCoklu.BitisTarihi);

            ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler)
                                                       .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
            }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetIstekCoklu.EczaneNobetGrupId);
            ViewBag.IstekId      = new SelectList(_istekService.GetList(), "Id", "Adi", eczaneNobetIstekCoklu.IstekId);
            ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetIstekCoklu.HaftaninGunu);
            ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetIstekCoklu.HaftaninGunu.Count();

            //seçilen tarih aralığı takvimde olmalıdır.
            if (baslangicTarihi == null || bitisTarihi == null)
            {
                var minYil = _takvimService.GetList().Min(x => x.Tarih.Year);
                var maxYil = _takvimService.GetList().Max(x => x.Tarih.Year);
                ViewBag.minYil = minYil;
                ViewBag.maxYil = maxYil;

                ViewBag.Mesaj = $"Başlangıç-Bitiş tarih aralığı enaz {minYil} ila ençok {maxYil} arasında olmalıdır...";

                return(View(eczaneNobetIstekCoklu));
            }

            //Başlangıç tarihi Bitiş tarihinden büyük olamaz.
            if (baslangicTarihi.Id > bitisTarihi.Id)
            {
                ViewBag.Mesaj2 = $"Başlangıç tarihi ({baslangicTarihi.Tarih}) Bitiş tarihinden ({bitisTarihi.Tarih}) büyük olamaz...";

                return(View(eczaneNobetIstekCoklu));
            }

            var eczaneNobetIstekler = new List <EczaneNobetIstek>();

            foreach (var eczaneNobetGrupId in eczaneNobetIstekCoklu.EczaneNobetGrupId)
            {
                foreach (var item in tarihAraligi)
                {
                    eczaneNobetIstekler.Add(new EczaneNobetIstek
                    {
                        IstekId           = eczaneNobetIstekCoklu.IstekId,
                        EczaneNobetGrupId = eczaneNobetGrupId,
                        TakvimId          = item.TakvimId,
                        Aciklama          = eczaneNobetIstekCoklu.Aciklama,
                    });
                }
            }

            var eklenenEczaneler = new List <EczaneNobetIstekDetay>();

            if (ModelState.IsValid && eczaneNobetIstekler.Count > 0)
            {
                var istekGirilenEczaneninEsOlduguEczaneler = _eczaneGrupService.GetDetaylarEczaneninEsOlduguEczaneler(eczaneNobetGruplar.Select(s => s.Id).ToList());

                var istekGirilenTarihtekiEczaneler = _eczaneNobetIstekService.GetDetaylarByNobetUstGrupId(eczaneNobetIstekCoklu.BaslangicTarihi, eczaneNobetIstekCoklu.BitisTarihi, nobetUstGrupId);

                var istekGirilenTarihtekiEsgrupOlduguEczaneler = _eczaneNobetIstekService.GetDetaylar(istekGirilenTarihtekiEczaneler, istekGirilenEczaneninEsOlduguEczaneler);

                var istekGirilenTarihtekiEsgrupOlduguEczanelerTumu = istekGirilenEczaneninEsOlduguEczaneler
                                                                     .Union(istekGirilenTarihtekiEsgrupOlduguEczaneler)
                                                                     .OrderBy(o => o.EczaneGrupTanimId)
                                                                     .ThenBy(o => o.EczaneAdi)
                                                                     .ToList();

                var istekGirilenTarihtekiEsgrupOlduguEczaneSayisi = istekGirilenTarihtekiEsgrupOlduguEczanelerTumu.Count;

                if (istekGirilenTarihtekiEsgrupOlduguEczaneSayisi > 0)
                {
                    ViewBag.IstekGirilenTarihtekiEsgrupOlduguEczaneler = istekGirilenTarihtekiEsgrupOlduguEczanelerTumu;

                    return(View(eczaneNobetIstekCoklu));
                }
                else
                {
                    try
                    {
                        _eczaneNobetIstekService.CokluEkle(eczaneNobetIstekler);

                        foreach (var item in eczaneNobetIstekler)
                        {
                            eklenenEczaneler.Add(new EczaneNobetIstekDetay
                            {
                                EczaneAdi = _eczaneNobetGrupService.GetDetayById(item.EczaneNobetGrupId).EczaneAdi,
                                Tarih     = _takvimService.GetById(item.TakvimId).Tarih
                            });
                        }
                    }
                    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 eczaneye aynı gün için iki istek kaydı eklenemez...</strong>");
                        }

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

                TempData["EklenenIstekSayisi"] = eklenenEczaneler.Count;
                TempData["EklenenIstekler"]    = eklenenEczaneler;

                return(View(eczaneNobetIstekCoklu));
            }
            else
            {
                //bayram ve hafta günleri kontrol
                if (bayramlar.Count == 0)
                {
                    if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 8 && w == 9).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 8).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun dini bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w == 9).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun milli bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetIstekCoklu.HaftaninGunu.Where(w => w <= 7).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun hafta günü bulunmamaktadır.";
                    }
                }
                else
                {
                    if (eczaneNobetIstekCoklu.HaftaninGunu.Count() == 1)
                    {
                        ViewBag.MesajBayram = $"Seçilen hafta gününe uygun tarih aralığı bulunmamaktadır.";
                    }
                    else
                    {
                        ViewBag.MesajBayram = $"Seçilen hafta günlerine uygun tarih aralığı bulunmamaktadır.";
                    }
                }
            }
            return(View(eczaneNobetIstekCoklu));
        }
        public ActionResult Create([Bind(Include = "Id,EczaneNobetGrupId,MazeretId,BaslangicTarihi,BitisTarihi,HaftaninGunu,Aciklama")] EczaneNobetMazeretCoklu eczaneNobetMazeretCoklu)
        {
            //var user = _userService.GetByUserName(User.Identity.Name);
            var nobetUstGrup = _nobetUstGrupSessionService.GetSession("nobetUstGrup");

            //var haftaninGunleri = Enum.GetValues(typeof(DayOfWeek)).Cast<DayOfWeek>().ToList();
            if (eczaneNobetMazeretCoklu.HaftaninGunu == null)
            {
                eczaneNobetMazeretCoklu.HaftaninGunu = new int[1] {
                    0
                };
            }

            var haftaninGunu = eczaneNobetMazeretCoklu.HaftaninGunu;

            var eczaneNobetGrup = _eczaneNobetGrupService.GetDetaylar(eczaneNobetMazeretCoklu.EczaneNobetGrupId);

            var bayramlar = _nobetGrupGorevTipTakvimOzelGunService.GetDetaylar(eczaneNobetMazeretCoklu.BaslangicTarihi, eczaneNobetMazeretCoklu.BitisTarihi, eczaneNobetGrup.Select(s => s.NobetGrupId).ToList(), 1)
                            .Where(w => eczaneNobetMazeretCoklu.HaftaninGunu.Contains(w.NobetGunKuralId)).ToList();

            var tarihAraligi = _takvimService.GetDetaylar(eczaneNobetMazeretCoklu.BaslangicTarihi, eczaneNobetMazeretCoklu.BitisTarihi);

            if (eczaneNobetMazeretCoklu.HaftaninGunu.Count() > 0)
            {
                tarihAraligi = tarihAraligi.Where(w => eczaneNobetMazeretCoklu.HaftaninGunu.Contains(w.HaftaninGunu) ||
                                                  bayramlar.Select(s => s.TakvimId).Contains(w.TakvimId)).ToList();
            }

            var eczaneler = _eczaneService.GetDetaylar(nobetUstGrup.Id).Select(s => s.Id).ToList();

            var baslangicTarihi = _takvimService.GetByTarih(eczaneNobetMazeretCoklu.BaslangicTarihi);
            var bitisTarihi     = _takvimService.GetByTarih(eczaneNobetMazeretCoklu.BitisTarihi);

            //seçilen tarih aralığı takvimde olmalıdır.
            if (baslangicTarihi == null || bitisTarihi == null)
            {
                var minYil = _takvimService.GetList().Min(x => x.Tarih.Year);
                var maxYil = _takvimService.GetList().Max(x => x.Tarih.Year);
                ViewBag.minYil = minYil;
                ViewBag.maxYil = maxYil;

                ViewBag.Mesaj             = $"Başlangıç-Bitiş tarih aralığı enaz {minYil} ila ençok {maxYil} arasında olmalıdır...";
                ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler)
                                                           .Select(s => new MyDrop {
                    Id = s.Id, Value = $"({s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
                }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId);
                ViewBag.MazeretId    = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId);
                ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu);

                return(View(eczaneNobetMazeretCoklu));
            }

            //Başlangıç tarihi Bitiş tarihinden büyük olamaz.
            if (baslangicTarihi.Id > bitisTarihi.Id)
            {
                ViewBag.Mesaj2            = $"Başlangıç tarihi ({baslangicTarihi.Tarih}) Bitiş tarihinden ({bitisTarihi.Tarih}) büyük olamaz...";
                ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler)
                                                           .Select(s => new MyDrop {
                    Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
                }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId);
                ViewBag.MazeretId    = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId);
                ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu);

                return(View(eczaneNobetMazeretCoklu));
            }

            var eczaneNobetMazeretler = new List <EczaneNobetMazeret>();

            foreach (var eczaneNobetGrupId in eczaneNobetMazeretCoklu.EczaneNobetGrupId)
            {
                foreach (var item in tarihAraligi)
                {
                    eczaneNobetMazeretler.Add(new EczaneNobetMazeret
                    {
                        MazeretId         = eczaneNobetMazeretCoklu.MazeretId,
                        EczaneNobetGrupId = eczaneNobetGrupId,// eczaneNobetMazeretCoklu.EczaneNobetGrupId,
                        TakvimId          = item.TakvimId,
                        Aciklama          = eczaneNobetMazeretCoklu.Aciklama,
                    });
                }
            }

            var eklenecekMazeretSayisi = eczaneNobetMazeretler.Count;

            if (ModelState.IsValid && eklenecekMazeretSayisi > 0)
            {
                try
                {
                    _eczaneNobetMazeretService.CokluEkle(eczaneNobetMazeretler);
                }
                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 eczaneye aynı gün için iki mazeret kaydı eklenemez...</strong>");
                    }

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

                TempData["EklenenMazeretSayisi"] = eklenecekMazeretSayisi;
                ViewBag.EczaneNobetGrupId        = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler)
                                                                  .Select(s => new MyDrop {
                    Id = s.Id, Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
                }).OrderBy(s => s.Value), "Id", "Value", eczaneNobetMazeretCoklu.EczaneNobetGrupId);
                ViewBag.MazeretId    = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId);
                ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value", eczaneNobetMazeretCoklu.HaftaninGunu);
                ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetMazeretCoklu.HaftaninGunu.Count();
                //return RedirectToAction("Index");
                return(View(eczaneNobetMazeretCoklu));
            }
            else
            {
                ViewBag.EczaneNobetGrupId = new SelectList(_eczaneNobetGrupService.GetDetaylarByEczaneIdList(eczaneler)
                                                           .Select(s => new MyDrop
                {
                    Id    = s.Id,
                    Value = $"{s.EczaneAdi}, {s.NobetGrupGorevTipAdi}"
                }).OrderBy(s => s.Value), "Id", "Value");

                ViewBag.MazeretId    = new SelectList(_mazeretService.GetList().Where(w => w.Id != 3), "Id", "Adi", eczaneNobetMazeretCoklu.MazeretId);
                ViewBag.HaftaninGunu = new SelectList(_takvimService.GetHaftaninGunleri(), "Id", "Value");
                ViewBag.SecilenHaftaninGunuSayisi = eczaneNobetMazeretCoklu.HaftaninGunu.Count();

                //bayram ve hafta günleri kontrol
                if (bayramlar.Count == 0)
                {
                    if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 8 && w == 9).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 8).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun dini bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w == 9).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun milli bayram bulunmamaktadır.";
                    }
                    else if (eczaneNobetMazeretCoklu.HaftaninGunu.Where(w => w <= 7).Count() > 0)
                    {
                        ViewBag.MesajBayram = $"Girilen tarih aralığına uygun hafta günü bulunmamaktadır.";
                    }
                }
                else
                {
                    if (eczaneNobetMazeretCoklu.HaftaninGunu.Count() == 1)
                    {
                        ViewBag.MesajBayram = $"Seçilen hafta gününe uygun tarih aralığı bulunmamaktadır.";
                    }
                    else
                    {
                        ViewBag.MesajBayram = $"Seçilen hafta günlerine uygun tarih aralığı bulunmamaktadır.";
                    }
                }
            }

            return(View(eczaneNobetMazeretCoklu));
        }
Пример #7
0
        public ActionResult Create([Bind(Include = "Id,Tarih,NobetGunKuralId,NobetGrupGorevTipGunKuralId,FarkliGunGosterilsinMi,NobetOzelGunId,AgirlikDegeri,NobetOzelGunKategoriId")] TakvimOzelGunCoklu takvimOzelGunCoklu)
        {
            if (ModelState.IsValid)
            {
                var nobetGrupGorevTipTakvimOzelGunler = new List <NobetGrupGorevTipTakvimOzelGun>();

                foreach (var nobetGrupGorevTipGunKuralId in takvimOzelGunCoklu.NobetGrupGorevTipGunKuralId)
                {
                    var nobetGrupGorevTipGunKuralId1 = _nobetGrupGorevTipGunKuralService.GetDetayById(nobetGrupGorevTipGunKuralId);

                    nobetGrupGorevTipTakvimOzelGunler.Add(new NobetGrupGorevTipTakvimOzelGun
                    {
                        TakvimId        = _takvimService.GetByTarih(takvimOzelGunCoklu.Tarih).Id,
                        NobetGunKuralId = takvimOzelGunCoklu.FarkliGunGosterilsinMi == false
                        ? nobetGrupGorevTipGunKuralId1.NobetGunKuralId
                        : takvimOzelGunCoklu.NobetGunKuralId,
                        NobetGrupGorevTipGunKuralId = nobetGrupGorevTipGunKuralId,
                        NobetOzelGunId         = takvimOzelGunCoklu.NobetOzelGunId,
                        FarkliGunGosterilsinMi = takvimOzelGunCoklu.FarkliGunGosterilsinMi,
                        AgirlikDegeri          = takvimOzelGunCoklu.AgirlikDegeri,
                        NobetOzelGunKategoriId = takvimOzelGunCoklu.NobetOzelGunKategoriId
                    });
                }

                var eklenecekbayramSayisi = nobetGrupGorevTipTakvimOzelGunler.Count;

                if (ModelState.IsValid && eklenecekbayramSayisi > 0)
                {
                    _nobetGrupGorevTipTakvimOzelGunService.CokluEkle(nobetGrupGorevTipTakvimOzelGunler);
                    TempData["EklenenBayramSayisi"] = eklenecekbayramSayisi;
                    return(RedirectToAction("Index"));
                }
                return(RedirectToAction("Index"));
            }

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

            var nobetGrupGorevTipGunKurallarTumu = _nobetGrupGorevTipGunKuralService.GetDetaylar(nobetUstGrup.Id);

            var nobetGrupGorevTipGunKurallar = nobetGrupGorevTipGunKurallarTumu
                                               .Where(w => w.NobetGunKuralId > 7)
                                               .Select(s => new MyDrop {
                Id = s.Id, Value = $"{s.NobetGrupAdi}, {s.NobetGorevTipAdi}, {s.NobetGunKuralAdi}"
            });

            //normalde bayram olan bir günün farklı bir gün olarak gösterilebilmesi için
            //.Where(w => w.Id <= 7)
            var nobetGrunKurallar = nobetGrupGorevTipGunKurallarTumu
                                    .Select(s => new { s.NobetGunKuralId, s.NobetGunKuralAdi })
                                    .Distinct()
                                    .OrderBy(o => o.NobetGunKuralId)
                                    .ToList();

            ViewBag.NobetGrupGorevTipGunKuralId = new SelectList(nobetGrupGorevTipGunKurallar, "Id", "Value");
            ViewBag.NobetOzelGunId  = new SelectList(_nobetOzelGunService.GetList(), "Id", "Adi");
            ViewBag.NobetGunKuralId = new SelectList(nobetGrunKurallar, "NobetGunKuralId", "NobetGunKuralAdi");
            //ViewBag.TakvimId = new SelectList(_takvimService.GetList(), "Id", "Tarih");
            ViewBag.NobetOzelGunKategoriId = new SelectList(_nobetOzelGunKategoriService.GetList(), "Id", "Adi");

            return(View(takvimOzelGunCoklu));
        }