public ActionResult GorselSonuclar()
        {
            var user             = _userService.GetByUserName(User.Identity.Name);
            var nobetUstGrupId   = _nobetUstGrupService.GetListByUser(user).Select(r => r.Id).FirstOrDefault();
            var yetkiliEczaneler = _eczaneService.GetListByUser(user).Select(n => n.Id).ToList();
            var demoSonuclar     = _eczaneNobetSonucDemoService.GetDetaylar(nobetUstGrupId);
            var nobetGunKurallar = _nobetGunKuralService.GetList();

            var eczaneler = _eczaneNobetGrupService.GetDetaylarByEczaneIdList(yetkiliEczaneler)
                            //.Where(w => yetkiliEczaneler.Contains(w.EczaneId))
                            .Select(s => new
            {
                s.EczaneId,
                EczaneGrupAdi = $"{s.EczaneAdi}, {s.NobetGrupId}"
            })
                            .Distinct().OrderBy(s => s.EczaneGrupAdi).ToList();

            var eczaneGruplar = _eczaneGrupService.GetDetaylar()
                                .Where(w => yetkiliEczaneler.Contains(w.EczaneId)).ToList();

            var eczaneGrupNodes = _eczaneGrupService.GetNodes()
                                  .Where(s => eczaneGruplar.Select(w => w.EczaneId).Contains(s.Id)).ToList();

            var eczaneGrupEdges = _eczaneGrupService.GetEdges()
                                  .Where(s => nobetUstGrupId == s.NobetUstGrupId).ToList();

            var yillar      = demoSonuclar.Select(s => s.Tarih.Year).Distinct().ToList();
            var versiyonlar = demoSonuclar.Select(s => s.NobetSonucDemoTipId).Distinct().ToList();

            var aylar      = _takvimService.GetAylar().ToList();
            var Frekanslar = new List <int> {
                1, 2, 3, 4, 5
            };

            var demoTipler = _nobetSonucDemoTipService.GetList()
                             .Where(w => versiyonlar.Contains(w.Id))
                             .Select(s => new MyDrop {
                Id = s.Id, Value = s.Adi
            });

            ViewBag.eczaneId = new SelectList(eczaneler, "EczaneId", "EczaneGrupAdi");
            //ViewBag.yilBaslangic = new SelectList(yillar, "Yil");
            ViewBag.yilBitis = new SelectList(yillar, "Yil");
            //ViewBag.ayBaslangic = new SelectList(aylar, "Id", "Value");
            ViewBag.Aylar = new SelectList(aylar, "Id", "Value");
            var ay       = 1;
            var frekans  = 1;
            var versiyon = demoTipler.Select(s => s.Id).FirstOrDefault();

            ViewBag.ayBitis         = ay;
            ViewBag.frekansDefault  = frekans;
            ViewBag.versiyonDefault = versiyon;

            ViewBag.Frekans = new SelectList(Frekanslar, null, null, frekans);
            //ViewBag.Versiyon = new SelectList(versiyonlar, null, null, versiyon);
            ViewBag.Versiyonlar = new SelectList(demoTipler, "Id", "Value", versiyon);

            int ayniGuneDenkGelenNobetSayisi = frekans;

            //var eczaneNobetSonucNodes = _eczaneNobetSonucDemoService.GetEczaneNobetSonucDemoNodes(2018, ay, versiyon, yetkiliEczaneler);
            //var eczaneNobetSonucEdges = _eczaneNobetSonucDemoService.GetEczaneNobetSonucDemoEdges(2018, ay, ayniGuneDenkGelenNobetSayisi, versiyon, nobetUstGrupId);

            var model = new EczaneNobetGorselSonucViewModel()
            {
                EczaneNobetSonucNodes = new List <EczaneNobetSonucNode>(), //eczaneNobetSonucNodes,
                EczaneNobetSonucEdges = new List <EczaneNobetSonucEdge>(), //eczaneNobetSonucEdges,
                EczaneGrupNodes       = eczaneGrupNodes,
                EczaneGrupEdges       = eczaneGrupEdges
            };

            return(View(model));
        }
        public EczaneNobetSonucModel ModelCoz(EczaneNobetModelCoz eczaneNobetModelCoz)
        {
            //var nobetGruplarTumu = _nobetGrupService.GetListByNobetUstGrupId(eczaneNobetModelCoz.NobetUstGrupId);
            var nobetGruplar       = eczaneNobetModelCoz.NobetGrupId.ToList();
            var nobetGruplarSirali = new List <NobetGruplarCozumSirali>();
            var sonuclar           = new EczaneNobetSonucModel();

            var indis = 1;

            foreach (var nobetGrupId in nobetGruplar)
            {
                nobetGruplarSirali.Add(new NobetGruplarCozumSirali {
                    NobetGrupId = nobetGrupId, SiraId = indis
                });

                indis++;
            }

            if (nobetGruplar.Count > 0)
            {
                #region başka gruplarla ilişkisi olan gruplar
                var eczaneGruplar = _eczaneGrupService.GetDetaylarAktifGruplar(eczaneNobetModelCoz.NobetUstGrupId)
                                    .Where(d => nobetGruplar.Contains(d.NobetGrupId)).ToList();

                //Birbiri ile ilişkili grupların gruplanması
                var nobetGruplarBagDurumu = _eczaneGrupService.EsGrupluEczanelerinGruplariniBelirleTumu(eczaneGruplar, nobetGruplar);

                var tumNobetGruplar = from g in nobetGruplarSirali
                                      let e = nobetGruplarBagDurumu.SingleOrDefault(x => x.NobetGrupId == g.NobetGrupId) ?? new NobetBagGrup()
                                              orderby e.Id, g.SiraId
                    select new NobetGrupBagGrup
                {
                    BagId       = e.Id,
                    NobetGrupId = g.NobetGrupId
                };

                #endregion

                var nobetGrupBaglar = tumNobetGruplar.Select(s => s.BagId).Distinct().ToList();

                #region Karar kuralları

                var model = new EczaneNobetDataModelParametre
                {
                    AyBitis                     = eczaneNobetModelCoz.AyBitis,
                    NobetGorevTipId             = eczaneNobetModelCoz.NobetGorevTipId,
                    NobetGrupGorevTipler        = eczaneNobetModelCoz.NobetGrupGorevTipler,
                    NobetGrupId                 = eczaneNobetModelCoz.NobetGrupId,
                    NobetUstGrupId              = eczaneNobetModelCoz.NobetUstGrupId,
                    NobetUstGrupBaslangicTarihi = eczaneNobetModelCoz.NobetUstGrupBaslangicTarihi,
                    BuAyVeSonrasi               = eczaneNobetModelCoz.BuAyVeSonrasi,
                    BaslangicTarihi             = eczaneNobetModelCoz.BaslangicTarihi,
                    BitisTarihi                 = eczaneNobetModelCoz.BitisTarihi,
                    TimeLimit                   = eczaneNobetModelCoz.TimeLimit,
                    CalismaSayisi               = eczaneNobetModelCoz.CalismaSayisi
                };

                var aylar = _takvimService.GetAylar()
                            .Where(w => w.Id >= model.AyBitis)
                            .OrderBy(o => o.Id).ToList();

                var ayIndis = 0;

                if (eczaneNobetModelCoz.BuAyVeSonrasi && eczaneNobetModelCoz.CozumTercih == 0 && eczaneNobetModelCoz.SonrakiAylarRasgele)
                {//seçilen ay ve sonrası, gruplar öncelikli - sonraki aylarda gruplar rasgele sıralı
                    foreach (var ay in aylar)
                    {
                        if (eczaneNobetModelCoz.AyBitis == ay.Id)
                        {//ilk ay arayüzdeki sıra
                            foreach (var item in nobetGrupBaglar)
                            {
                                var nobetGrupIdListe = tumNobetGruplar
                                                       .Where(x => x.BagId == item)
                                                       .Select(s => s.NobetGrupId);

                                foreach (var nobetGrupId in nobetGrupIdListe)
                                {
                                    var tarihBas        = model.BaslangicTarihi;
                                    var tarihBit        = model.BitisTarihi;
                                    var aydakiGunSayisi = DateTime.DaysInMonth(tarihBit.Year, ay.Id);
                                    var baslangicGunu   = 1;
                                    if (ayIndis == 1)
                                    {
                                        baslangicGunu = tarihBas.Day;
                                    }

                                    model.BaslangicTarihi = new DateTime(tarihBas.Year, ay.Id, baslangicGunu);
                                    model.BitisTarihi     = new DateTime(tarihBit.Year, ay.Id, aydakiGunSayisi);
                                    model.NobetGrupId     = new int[] { nobetGrupId };
                                    var data = EczaneNobetDataModel(model);
                                    //return EczaneNobetCozSonuclaraEkle(data);
                                    var sonuc = EczaneNobetCozSonuclaraEkle(data);

                                    sonuclar.ObjectiveValue      += sonuc.ObjectiveValue;
                                    sonuclar.KararDegikeniSayisi += sonuc.KararDegikeniSayisi;
                                    sonuclar.KisitSayisi         += sonuc.KisitSayisi;

                                    sonuclar.CozumSuresi += sonuc.CozumSuresi;

                                    sonuclar.CalismaSayisi   += sonuc.CalismaSayisi;
                                    sonuclar.IterasyonSayisi += sonuc.IterasyonSayisi;
                                }
                            }
                        }
                        else
                        {
                            foreach (var item in nobetGrupBaglar)
                            {
                                var r = new Random();
                                var nobetGrupIdListe = tumNobetGruplar
                                                       .Where(x => x.BagId == item)
                                                       .Select(s => s.NobetGrupId)
                                                       .OrderBy(x => r.NextDouble());

                                foreach (var nobetGrupId in nobetGrupIdListe)
                                {
                                    var tarihBas        = model.BaslangicTarihi;
                                    var tarihBit        = model.BitisTarihi;
                                    var aydakiGunSayisi = DateTime.DaysInMonth(tarihBit.Year, ay.Id);
                                    var baslangicGunu   = 1;
                                    if (ayIndis == 1)
                                    {
                                        baslangicGunu = tarihBas.Day;
                                    }

                                    model.BaslangicTarihi = new DateTime(tarihBas.Year, ay.Id, baslangicGunu);
                                    model.BitisTarihi     = new DateTime(tarihBit.Year, ay.Id, aydakiGunSayisi);
                                    model.NobetGrupId     = new int[] { nobetGrupId };
                                    var data  = EczaneNobetDataModel(model);
                                    var sonuc = EczaneNobetCozSonuclaraEkle(data);

                                    sonuclar.ObjectiveValue      += sonuc.ObjectiveValue;
                                    sonuclar.KararDegikeniSayisi += sonuc.KararDegikeniSayisi;
                                    sonuclar.KisitSayisi         += sonuc.KisitSayisi;

                                    sonuclar.CozumSuresi += sonuc.CozumSuresi;

                                    sonuclar.CalismaSayisi   += sonuc.CalismaSayisi;
                                    sonuclar.IterasyonSayisi += sonuc.IterasyonSayisi;
                                }
                            }
                        }
                    }
                    return(sonuclar);
                }
                else if (eczaneNobetModelCoz.BuAyVeSonrasi && eczaneNobetModelCoz.CozumTercih == 0)
                {//seçilen ay ve sonrası, gruplar öncelikli
                    foreach (var ay in aylar)
                    {
                        ayIndis++;
                        if (tumNobetGruplar.Count() == 1)
                        {
                            model.AyBitis = ay.Id;
                            var data = EczaneNobetDataModel(model);
                            return(EczaneNobetCozSonuclaraEkle(data));
                        }
                        else
                        {
                            foreach (var item in nobetGrupBaglar)
                            {
                                var nobetGrupIdListe = tumNobetGruplar
                                                       .Where(x => x.BagId == item)
                                                       .Select(s => s.NobetGrupId);

                                foreach (var nobetGrupId in nobetGrupIdListe)
                                {
                                    var tarihBas        = model.BaslangicTarihi;
                                    var tarihBit        = model.BitisTarihi;
                                    var aydakiGunSayisi = DateTime.DaysInMonth(tarihBit.Year, ay.Id);
                                    var baslangicGunu   = 1;
                                    if (ayIndis == 1)
                                    {
                                        baslangicGunu = tarihBas.Day;
                                    }

                                    model.BaslangicTarihi = new DateTime(tarihBas.Year, ay.Id, baslangicGunu);
                                    model.BitisTarihi     = new DateTime(tarihBit.Year, ay.Id, aydakiGunSayisi);
                                    model.NobetGrupId     = new int[] { nobetGrupId };
                                    var data  = EczaneNobetDataModel(model);
                                    var sonuc = EczaneNobetCozSonuclaraEkle(data);

                                    sonuclar.ObjectiveValue      += sonuc.ObjectiveValue;
                                    sonuclar.KararDegikeniSayisi += sonuc.KararDegikeniSayisi;
                                    sonuclar.KisitSayisi         += sonuc.KisitSayisi;

                                    sonuclar.CozumSuresi += sonuc.CozumSuresi;

                                    sonuclar.CalismaSayisi   += sonuc.CalismaSayisi;
                                    sonuclar.IterasyonSayisi += sonuc.IterasyonSayisi;
                                }
                            }
                        }
                    }
                    return(sonuclar);
                }
                else if (eczaneNobetModelCoz.BuAyVeSonrasi && eczaneNobetModelCoz.CozumTercih == 1)
                {//seçilen ay ve sonrası, gruplar önceliksiz
                    foreach (var ay in aylar)
                    {
                        ayIndis++;
                        foreach (var item in nobetGrupBaglar)
                        {
                            var nobetGrupIdListe = tumNobetGruplar
                                                   .Where(x => x.BagId == item)
                                                   .Select(s => s.NobetGrupId)
                                                   .ToArray();

                            var tarihBas        = model.BaslangicTarihi;
                            var tarihBit        = model.BitisTarihi;
                            var aydakiGunSayisi = DateTime.DaysInMonth(tarihBit.Year, ay.Id);
                            var baslangicGunu   = 1;
                            if (ayIndis == 1)
                            {
                                baslangicGunu = tarihBas.Day;
                            }

                            model.BaslangicTarihi = new DateTime(tarihBas.Year, ay.Id, baslangicGunu);
                            model.BitisTarihi     = new DateTime(tarihBit.Year, ay.Id, aydakiGunSayisi);
                            model.NobetGrupId     = nobetGrupIdListe;
                            var data  = EczaneNobetDataModel(model);
                            var sonuc = EczaneNobetCozSonuclaraEkle(data);

                            sonuclar.ObjectiveValue      += sonuc.ObjectiveValue;
                            sonuclar.KararDegikeniSayisi += sonuc.KararDegikeniSayisi;
                            sonuclar.KisitSayisi         += sonuc.KisitSayisi;

                            sonuclar.CozumSuresi += sonuc.CozumSuresi;

                            sonuclar.CalismaSayisi   += sonuc.CalismaSayisi;
                            sonuclar.IterasyonSayisi += sonuc.IterasyonSayisi;
                        }
                    }
                    return(sonuclar);
                }
                else if (eczaneNobetModelCoz.CozumTercih == 0)
                {//ay, gruplar öncelikli
                    if (tumNobetGruplar.Count() == 1)
                    {
                        var data = EczaneNobetDataModel(model);
                        return(EczaneNobetCozAktifiGuncelle(data));
                    }
                    else
                    {
                        foreach (var item in nobetGrupBaglar)
                        {
                            var nobetGrupIdListe = tumNobetGruplar
                                                   .Where(x => x.BagId == item)
                                                   .Select(s => s.NobetGrupId)
                                                   .ToArray();

                            foreach (var nobetGrupId in nobetGrupIdListe)
                            {
                                model.NobetGrupId = new int[] { nobetGrupId };
                                var data  = EczaneNobetDataModel(model);
                                var sonuc = EczaneNobetCozSonuclaraEkle(data);

                                sonuclar.ObjectiveValue      += sonuc.ObjectiveValue;
                                sonuclar.KararDegikeniSayisi += sonuc.KararDegikeniSayisi;
                                sonuclar.KisitSayisi         += sonuc.KisitSayisi;

                                sonuclar.CozumSuresi += sonuc.CozumSuresi;

                                sonuclar.CalismaSayisi   += sonuc.CalismaSayisi;
                                sonuclar.IterasyonSayisi += sonuc.IterasyonSayisi;
                            }
                        }
                        return(sonuclar);
                    }
                }
                else if (eczaneNobetModelCoz.CozumTercih == 1)
                {//ay, gruplar önceliksiz
                    foreach (var item in nobetGrupBaglar)
                    {
                        var nobetGrupIdListe = tumNobetGruplar
                                               .Where(x => x.BagId == item)
                                               .Select(s => s.NobetGrupId)
                                               .ToArray();

                        model.NobetGrupId = nobetGrupIdListe;
                        var data = EczaneNobetDataModel(model);
                        //return EczaneNobetCozAktifiGuncelle(data);
                        sonuclar = EczaneNobetCozAktifiGuncelle(data);
                    }
                    return(sonuclar);
                }
                else
                {//diğer
                    throw new Exception("Nöbet yazdırma kriter seçimi hatalıdır. Lütfen kontrol ediniz.");
                }
                #endregion
            }
            return(sonuclar);
        }
Пример #3
0
        public void ModelCoz(EczaneNobetModelCoz eczaneNobetModelCoz)
        {
            var nobetGruplar = _nobetGrupService.GetListByNobetUstGrupId(eczaneNobetModelCoz.NobetUstGrupId);

            if (nobetGruplar.Count > 0)
            {
                #region başka gruplarla ilişkisi olan gruplar
                var eczaneGrupDetaylar = _eczaneGrupService.GetDetaylar()
                                         .Where(d => d.EczaneGrupTanimBitisTarihi == null &&
                                                nobetGruplar.Select(s => s.Id).Contains(d.NobetGrupId)).ToList();

                //başka gruplarla ilişkisi olan gruplar
                var esGruplar = eczaneGrupDetaylar.Select(x => x.NobetGrupId).Distinct().OrderBy(x => x).ToList();

                //Birbiri ile ilişkili grupların gruplanması
                var esliNobetGruplar = _eczaneGrupService.EsGrupluEczanelerinGruplariniBelirle(eczaneGrupDetaylar, esGruplar)
                                       .Where(w => eczaneNobetModelCoz.NobetGrupId.Contains(w.NobetGrupId)).ToList();
                //.Where(w => w.NobetGrupId == eczaneNobetModelCoz.NobetGrupId || eczaneNobetModelCoz.NobetGrupId.Contains(0)).ToList();
                #endregion

                #region başka gruplarla ilişkisi olmayan gruplar
                var tekEczaneNobetGruplar = _eczaneNobetGrupService.GetDetaylar(eczaneNobetModelCoz.NobetUstGrupId)
                                            .Where(x => !esGruplar.Contains(x.NobetGrupId)).ToList();

                var tekliNobetGruplar = tekEczaneNobetGruplar
                                        .Where(d => nobetGruplar.Select(s => s.Id).Contains(d.NobetGrupId))
                                        .Select(c => c.NobetGrupId).Distinct().ToList();
                #endregion

                #region tüm nöbet gruplar
                var tumNobetGruplar = new List <NobetBagGrup>();

                foreach (var esliNobetGrup in esliNobetGruplar.Distinct())
                {
                    tumNobetGruplar.Add(new NobetBagGrup
                    {
                        Id          = esliNobetGrup.Id,
                        NobetGrupId = esliNobetGrup.NobetGrupId
                    });
                }

                var indis = tumNobetGruplar.Select(s => s.Id).LastOrDefault();
                foreach (var tekliNobetGrup in tekliNobetGruplar.Distinct())
                {
                    indis++;
                    tumNobetGruplar.Add(new NobetBagGrup
                    {
                        Id          = indis,
                        NobetGrupId = tekliNobetGrup
                    });
                }

                var nobetGrupTanimlar = tumNobetGruplar.Select(s => s.Id).Distinct().ToList();
                #endregion

                #region Karar kuralları
                var model = new EczaneNobetDataModelParametre
                {
                    //AyBaslangic = eczaneNobetModelCoz.AyBaslangic,
                    AyBitis         = eczaneNobetModelCoz.AyBitis,
                    NobetGorevTipId = eczaneNobetModelCoz.NobetGorevTipId,
                    NobetGrupId     = eczaneNobetModelCoz.NobetGrupId,
                    NobetUstGrupId  = eczaneNobetModelCoz.NobetUstGrupId,
                    //YilBaslangic = eczaneNobetModelCoz.YilBaslangic,
                    //YilBitis = eczaneNobetModelCoz.YilBitis
                };

                if (eczaneNobetModelCoz.NobetGrupId.Contains(0) && eczaneNobetModelCoz.AyBitis == 0)
                {//ay ve gruplar --tümü--
                    foreach (var ay in _takvimService.GetAylar())
                    {
                        foreach (var item in nobetGrupTanimlar)
                        {
                            var r     = new Random();
                            var liste = tumNobetGruplar
                                        .Where(x => x.Id == item)
                                        .Select(s => s.NobetGrupId)
                                        .OrderByDescending(x => r.NextDouble()).ToList();

                            foreach (var item2 in liste)
                            {
                                var liste2 = new int[] { item2 };
                                model.AyBitis     = ay.Id;
                                model.NobetGrupId = liste2;
                                var data = EczaneNobetDataModel(model);
                                EczaneNobetCozAktifiGuncelle(data);
                                Kesinlestir(model.NobetUstGrupId);
                            }
                        }
                    }
                }
                else if (eczaneNobetModelCoz.NobetGrupId.Contains(0))
                {//ay seçili, gruplar --tümü--
                    if (eczaneNobetModelCoz.BuAyVeSonrasi)
                    {
                        var aylar = _takvimService.GetAylar()
                                    .Where(w => w.Id >= eczaneNobetModelCoz.AyBitis).ToList();

                        foreach (var ay in aylar)
                        {
                            foreach (var item in nobetGrupTanimlar)
                            {
                                var r     = new Random();
                                var liste = tumNobetGruplar
                                            .Where(x => x.Id == item)
                                            .Select(s => s.NobetGrupId)
                                            .OrderByDescending(x => r.NextDouble()).ToList();

                                foreach (var item2 in liste)
                                {
                                    var liste2 = new int[] { item2 };
                                    model.AyBitis     = ay.Id;
                                    model.NobetGrupId = liste2;
                                    var data = EczaneNobetDataModel(model);
                                    EczaneNobetCozAktifiGuncelle(data);
                                    Kesinlestir(model.NobetUstGrupId);
                                }
                            }
                        }
                    }
                    else
                    {
                        foreach (var item in nobetGrupTanimlar)
                        {
                            var liste = tumNobetGruplar
                                        .Where(x => x.Id == item)
                                        .Select(s => s.NobetGrupId)
                                        .OrderByDescending(x => x).ToList();

                            foreach (var item2 in liste)
                            {
                                var liste2 = new int[] { item2 };
                                model.NobetGrupId = liste2;
                                var data = EczaneNobetDataModel(model);
                                EczaneNobetCozAktifiGuncelle(data);
                                Kesinlestir(model.NobetUstGrupId);
                            }
                        }
                    }
                }
                else if (eczaneNobetModelCoz.AyBitis == 0)
                {//grup seçili, aylar --tümü--
                    foreach (var ay in _takvimService.GetAylar())
                    {
                        foreach (var item in tumNobetGruplar
                                 .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId))
                                 //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId)
                                 .Select(s => s.Id).Distinct().ToList())
                        {
                            var liste = tumNobetGruplar
                                        .Where(x => x.Id == item)
                                        .Select(s => s.NobetGrupId)
                                        .OrderByDescending(x => x).ToList();

                            foreach (var item2 in liste)
                            {
                                var liste2 = new int[] { item2 };
                                model.AyBitis     = ay.Id;
                                model.NobetGrupId = liste2;
                                var data = EczaneNobetDataModel(model);
                                EczaneNobetCozAktifiGuncelle(data);
                                Kesinlestir(model.NobetUstGrupId);
                            }
                        }
                    }
                }
                else
                {//seçili grup ve ay
                    if (eczaneNobetModelCoz.BuAyVeSonrasi)
                    {
                        var aylar = _takvimService.GetAylar()
                                    .Where(w => w.Id >= eczaneNobetModelCoz.AyBitis).ToList();

                        foreach (var ay in aylar)
                        {
                            foreach (var item in tumNobetGruplar
                                     .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId))
                                     //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId)
                                     .Select(s => s.Id).Distinct().ToList())
                            {
                                var liste = tumNobetGruplar
                                            .Where(x => x.Id == item)
                                            .Select(s => s.NobetGrupId)
                                            .OrderByDescending(x => x).ToArray();

                                model.AyBitis     = ay.Id;
                                model.NobetGrupId = liste;
                                var data = EczaneNobetDataModel(model);
                                EczaneNobetCozAktifiGuncelle(data);
                                Kesinlestir(model.NobetUstGrupId);
                            }
                        }
                    }
                    else
                    {
                        foreach (var item in tumNobetGruplar
                                 .Where(x => eczaneNobetModelCoz.NobetGrupId.Contains(x.NobetGrupId))
                                 //.Where(x => x.NobetGrupId == eczaneNobetModelCoz.NobetGrupId)
                                 .Select(s => s.Id).Distinct().ToList())
                        {
                            var liste = tumNobetGruplar
                                        .Where(x => x.Id == item)
                                        .Select(s => s.NobetGrupId)
                                        .OrderByDescending(x => x).ToArray();

                            model.NobetGrupId = liste;
                            var data = EczaneNobetDataModel(model);
                            EczaneNobetCozAktifiGuncelle(data);
                        }
                    }
                    #endregion
                }
            }
        }