private EczaneGrupDetayViewModel getAEczaneGrupDetayViewModel(int thispage)
        {
            var user                    = _userService.GetByUserName(User.Identity.Name);
            var gruplar                 = _grupService.GetListByUser(user).ToList();
            var eczaneGrupIdler         = _eczaneGrupService.GetDetayListByUser(user).Select(s => s.Id).ToList();
            var eczaneIdler             = _eczaneGrupService.GetDetayListByUser(user).Select(s => s.EczaneId).ToList();
            var ayniGruptakiEczaneIdler = _eczaneGrupService.GetDetaylar(w => eczaneGrupIdler.Contains(w.Id)).Select(s => s.EczaneId).ToList();
            //kendi yaptığım alımlar:
            var eczaneGruplar = _eczaneGrupService.GetMyDetayListByUser(user);
            //var eczaneler = _eczaneService.GetListByUser(user);
            var eczaneler   = _eczaneService.GetList().Where(w => ayniGruptakiEczaneIdler.Contains(w.Id)).ToList();
            var teklifler   = _teklifService.GetListByUser(user);                            //tekliflerim
            var teklifIdler = _teklifService.GetListByUser(user).Select(s => s.Id).ToList(); //teklifIdlerim

            var tekliflerimdenYapilanAlimlar = _alimService.GetDetayListByTeklifler(teklifIdler).GroupBy(g => g.EczaneGrupId);

            var ilacIdler = teklifler.Where(w => teklifIdler.Contains(w.Id)).Select(s => s.IlacId);
            var ilaclar   = _ilacService.GetList().Where(w => ilacIdler.Contains(w.Id)).ToList();

            var pager = new Pager(tekliflerimdenYapilanAlimlar.Count(), thispage);

            var model = new EczaneGrupDetayViewModel()
            {
                Eczaneler          = eczaneler,
                EczaneGrupDetaylar = eczaneGruplar,
                Pager = pager
            };

            return(model);
        }
예제 #2
0
        public ActionResult Index(int?page)
        {
            int thispage = 0;

            if (page != 0)
            {
                thispage = Convert.ToInt32(page);
            }

            var teklifTurler = _teklifTurService.GetList();

            ViewBag.TeklifTurId = new SelectList(teklifTurler, "Id", "Adi");
            // var temp = TempData["EczaneGrupId"];

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

            var gruplar         = _grupService.GetListByUser(user);
            var eczaneGruplar   = _eczaneGrupService.GetListByUser(user);
            var eczanegrupIdler = eczaneGruplar.Select(s => s.Id).ToList();
            var grupIdler       = gruplar.Select(s => s.Id).ToList();

            var teklifler = _teklifService.GetListByEczaneGruplar(eczanegrupIdler, grupIdler).OrderByDescending(o => o.BaslangicTarihi).ToList();

            //özel eczaneye yapılan teklifler gözükmesin
            teklifler = teklifler.Where(w => w.OzelEczaneGrupId == null ||
                                        eczanegrupIdler.Contains(Convert.ToInt32(w.OzelEczaneGrupId))).ToList();
            var ilaclar = _ilacService.GetList().Where(w => teklifler.Select(s => s.IlacId).Contains(w.Id)).ToList();
            //bu eczanenin bulunduğu tüm eczanegrup lardaki teklifleri gösterir

            var pager = new Pager(teklifler.Count(), thispage);


            var model = new TeklifDetayViewModel()
            {
                TeklifDetaylar = teklifler,//.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
                Eczaneler      = eczaneler,
                Ilaclar        = ilaclar,
                EczaneGruplar  = eczaneGruplar,
                Pager          = pager
            };

            return(View(model));
            //}
        }
예제 #3
0
        private AlimDetayViewModel getAlimDetayViewModel(int thispage)
        {
            var user          = _userService.GetByUserName(User.Identity.Name);
            var gruplar       = _grupService.GetListByUser(user).ToList();
            var eczaneGruplar = _eczaneGrupService.GetDetayListByUser(user).ToList();
            var eczaneIdler   = _eczaneGrupService.GetDetayListByUser(user).Select(s => s.EczaneId).ToList();
            var eczaneler     = _eczaneService.GetList().Where(w => eczaneIdler.Contains(w.Id)).ToList();

            //kendi yaptığım alımlar:
            eczaneGruplar = _eczaneGrupService.GetMyDetayListByUser(user);
            //var eczaneler = _eczaneService.GetListByUser(user);

            //var teklifler = _teklifService.GetListByUser(user);

            var teklifler = _teklifService.GetDetaylar().ToList();
            var alimlar   = _alimService.GetMyListByEczaneGruplar(eczaneGruplar).ToList().OrderByDescending(o => o.AlimTarihi).ToList();
            //o eczanenin alım yaptığı teklifler:
            var alimYaptigiTeklifler = teklifler.Where(w => alimlar.Select(s => s.TeklifId).Contains(w.Id)).ToList();

            var teklifIdler = alimlar.Select(s => s.TeklifId);
            var ilacIdler   = teklifler.Where(w => teklifIdler.Contains(w.Id)).Select(s => s.IlacId);
            var ilaclar     = _ilacService.GetList().Where(w => ilacIdler.Contains(w.Id)).ToList();

            var pager = new Pager(alimlar.Count(), thispage);

            var model = new AlimDetayViewModel()
            {
                AlimDetaylar = alimlar,//.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
                //Eczaneler = eczaneler,
                Ilaclar            = ilaclar,
                EczaneGrupDetaylar = eczaneGruplar,
                TeklifDetaylar     = alimYaptigiTeklifler,
                Pager = pager
            };

            return(model);
        }
예제 #4
0
        public ActionResult Index(int?page)
        {
            int thispage = 0;

            if (page != 0)
            {
                thispage = Convert.ToInt32(page);
            }

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

            var gruplar         = _grupService.GetListByUser(user);
            var eczaneGruplar   = _eczaneGrupService.GetListByUser(user);
            var eczanegrupIdler = eczaneGruplar.Select(s => s.Id).ToList();
            var grupIdler       = gruplar.Select(s => s.Id).ToList();

            var talepler = _talepService.GetListByEczaneGruplar(eczanegrupIdler, grupIdler).OrderByDescending(o => o.KayitTarihi).ToList();
            var ilaclar  = _ilacService.GetList().Where(w => talepler.Select(s => s.IlacId).Contains(w.Id)).ToList();
            //bu eczanenin bulunduğu tüm eczanegrup lardaki teklifleri gösterir

            var pager = new Pager(talepler.Count(), thispage);


            var model = new TalepDetayViewModel()
            {
                TalepDetaylar = talepler,//.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
                Eczaneler     = eczaneler,
                Ilaclar       = ilaclar,
                EczaneGruplar = eczaneGruplar,
                Pager         = pager
            };

            return(View(model));
            //}
        }
예제 #5
0
        public ActionResult Search(string Keywords)
        {
            var result = _ilacService.GetList().Where(p => Regex.Split(Keywords, @"\s").Any(x => p.Adi.ToLower().Contains(x.ToLower()) || p.Adi.ToLower().Contains(x.ToLower()))).Select(s => s.Id).ToList();

            return(View("Create", result));//result:model
        }
예제 #6
0
        private List <KatilimGroupByTalepIdKatilimDetaylarViewModel> GetAlimDetayViewModel_GroupByTeklifId(List <KatilimGroupByTalepIdKatilimDetaylarViewModel> katilimGroupByTalepIdKatilimDetaylarViewModel
                                                                                                           , string page)
        {
            var user          = _userService.GetByUserName(User.Identity.Name);
            var gruplar       = _grupService.GetListByUser(user).ToList();
            var eczaneGruplar = _eczaneGrupService.GetDetayListByUser(user).ToList();
            var eczaneIdler   = _eczaneGrupService.GetDetayListByUser(user).Select(s => s.EczaneId).ToList();
            var eczaneler     = _eczaneService.GetList().Where(w => eczaneIdler.Contains(w.Id)).ToList();
            //kendi yaptığım alımlar:
            // eczaneGruplar = _eczaneGrupService.GetMyDetayListByUser(user);
            //var eczaneler = _eczaneService.GetListByUser(user);
            var eczaneGruplarim = _eczaneGrupService.GetListByUser(user).Select(s => s.Id);
            //var talepler = _talepService.GetListByUser(user);
            var eczaneGrupIdlerim = _eczaneGrupService.GetListByUser(user).Select(s => s.EczaneId);
            var katilimDetaylar   = _katilimService.GetDetaylar();

            var talepler   = _talepService.GetDetaylar().ToList();
            var katilimlar = _katilimService.GetMyListByEczaneGruplar(eczaneGruplar).ToList();

            var katilimlarGroupByTalepId = katilimlar.GroupBy(g => g.TalepId) //.Select(s => s.Sum(d => d.Miktar));
                                           .Select(g => new KatilimGroupByTalepId
            {
                //EczaneGln = _eczaneService.GetById(katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.EczaneId).FirstOrDefault()).EczaneGln,
                TalepMiktari = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepMiktari).FirstOrDefault(),
                TalepId      = g.Key,
                // KatilimTarihi = katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.KatilimTarihi).FirstOrDefault(),
                ToplamKatilimMiktari  = g.Sum(x => x.Miktar),
                KatilimYapanEczaneAdi = katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.EczaneGrupAdi).FirstOrDefault(),
                DepoFiyat             = talepler.Where(w => w.Id == g.Key).Select(s => s.DepoFiyati).FirstOrDefault(),
                IlacAdi             = talepler.Where(w => w.Id == g.Key).Select(s => s.IlacAdi).FirstOrDefault(),
                GrupAdi             = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupAdi).FirstOrDefault(),
                Minimum             = talepler.Where(w => w.Id == g.Key).Select(s => s.Minimum).FirstOrDefault(),
                Maksimum            = talepler.Where(w => w.Id == g.Key).Select(s => s.Maximum).FirstOrDefault(),
                BitisTarihi         = talepler.Where(w => w.Id == g.Key).Select(s => s.BitisTarihi).FirstOrDefault(),
                Kalan               = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepMiktari).FirstOrDefault() - g.Sum(x => x.Miktar),
                Katilimim           = katilimlar.Where(w => w.TalepId == g.Key && w.EczaneGrupId == eczaneGruplarim.FirstOrDefault()).Sum(s => s.Miktar),
                TalepVerenEczaneAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneAdi).FirstOrDefault(),

                EczaneGln               = katilimlar.Where(w => w.Id == g.Key).Select(s => s.EczaneGln).FirstOrDefault(),
                IlacId                  = katilimlar.Where(w => w.Id == g.Key).Select(s => s.IlacId).FirstOrDefault(),
                KatilimTarihi           = katilimlar.Where(w => w.Id == g.Key).Select(s => s.KatilimTarihi).FirstOrDefault(),
                Miktar                  = katilimlar.Where(w => w.Id == g.Key).Select(s => s.Miktar).FirstOrDefault(),
                KayitTarihi             = katilimlar.Where(w => w.Id == g.Key).Select(s => s.KayitTarihi).FirstOrDefault(),
                TalepDurumAdi           = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepDurumAdi).FirstOrDefault(),
                TalepVerenEczaneGrupAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupAdi).FirstOrDefault(),
                TalepVerenEczaneGrupId  = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupId).FirstOrDefault(),
                Id           = katilimlar.Where(w => w.Id == g.Key).Select(s => s.Id).FirstOrDefault(),
                TalepDurumId = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepDurumId).FirstOrDefault(),
            }).ToList();

            #region baskaAlimlarGroupByTeklifIdler
            //var baskaAlimlarGroupByTeklifIdler = alimDetaylar.GroupBy(g => g.TalepId) //.Select(s => s.Sum(d => d.Miktar));
            //   .Select(g => new KatilimGroupByTalepId
            //   {
            //       //EczaneGln = _eczaneService.GetById(katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.EczaneId).FirstOrDefault()).EczaneGln,
            //       TalepMiktari = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepMiktari).FirstOrDefault(),
            //       TalepId = g.Key,
            //       // KatilimTarihi = katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.KatilimTarihi).FirstOrDefault(),
            //       ToplamKatilimMiktari = g.Sum(x => x.Miktar),
            //       KatilimYapanEczaneAdi = katilimlar.Where(w => w.TalepId == g.Key).Select(s => s.EczaneGrupAdi).FirstOrDefault(),
            //       DepoFiyat = talepler.Where(w => w.Id == g.Key).Select(s => s.DepoFiyati).FirstOrDefault(),
            //       IlacAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.IlacAdi).FirstOrDefault(),
            //       GrupAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupAdi).FirstOrDefault(),
            //       Minimum = talepler.Where(w => w.Id == g.Key).Select(s => s.Minimum).FirstOrDefault(),
            //       Maksimum = talepler.Where(w => w.Id == g.Key).Select(s => s.Maximum).FirstOrDefault(),
            //       BitisTarihi = talepler.Where(w => w.Id == g.Key).Select(s => s.BitisTarihi).FirstOrDefault(),
            //       Kalan = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepMiktari).FirstOrDefault() - g.Sum(x => x.Miktar),
            //       Katilimim = katilimlar.Where(w => w.TalepId == g.Key && w.EczaneGrupId == eczaneGruplarim.FirstOrDefault()).Sum(s => s.Miktar),
            //       TalepVerenEczaneAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneAdi).FirstOrDefault(),

            //       EczaneGln = katilimlar.Where(w => w.Id == g.Key).Select(s => s.EczaneGln).FirstOrDefault(),
            //       IlacId = katilimlar.Where(w => w.Id == g.Key).Select(s => s.IlacId).FirstOrDefault(),
            //       KatilimTarihi = katilimlar.Where(w => w.Id == g.Key).Select(s => s.KatilimTarihi).FirstOrDefault(),
            //       Miktar = katilimlar.Where(w => w.Id == g.Key).Select(s => s.Miktar).FirstOrDefault(),
            //       KayitTarihi = katilimlar.Where(w => w.Id == g.Key).Select(s => s.KayitTarihi).FirstOrDefault(),
            //       TalepDurumAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepDurumAdi).FirstOrDefault(),
            //       TalepVerenEczaneGrupAdi = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupAdi).FirstOrDefault(),
            //       TalepVerenEczaneGrupId = talepler.Where(w => w.Id == g.Key).Select(s => s.TalepVerenEczaneGrupId).FirstOrDefault(),
            //       Id = katilimlar.Where(w => w.Id == g.Key).Select(s => s.Id).FirstOrDefault()
            //   })
            //   .OrderByDescending(o => o.KatilimTarihi).ToList();
            #endregion


            var alimlarGroupby = katilimlar.GroupBy(g => g.TalepId).ToList();
            //o eczanenin alım yaptığı talepler:
            var alimYaptigiTeklifler = talepler.Where(w => katilimlar.Select(s => s.TalepId).Contains(w.Id)).ToList();

            var teklifIdler = katilimlar.Select(s => s.TalepId);
            var ilacIdler   = talepler.Where(w => teklifIdler.Contains(w.Id)).Select(s => s.IlacId);
            var ilaclar     = _ilacService.GetList().Where(w => ilacIdler.Contains(w.Id)).ToList();


            if (page == "" || page == null)
            {
                page = "1";
            }
            var pager = new Pager(katilimlarGroupByTalepId.Count(), Convert.ToInt32(page));
            //katilimDetaylar = katilimDetaylar.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList();
            foreach (var item in katilimlarGroupByTalepId)
            {
                var katilimDetaylars = katilimDetaylar.Where(w => w.TalepId == item.TalepId).ToList();

                katilimGroupByTalepIdKatilimDetaylarViewModel.Add(new KatilimGroupByTalepIdKatilimDetaylarViewModel
                {
                    KatilimGroupByTalepId = item,
                    KatilimDetaylar       = katilimDetaylars,
                    Pager = pager
                });
            }
            return(katilimGroupByTalepIdKatilimDetaylarViewModel);
        }
예제 #7
0
        public ActionResult Index(int?id, int?page)
        {
            int Id       = Convert.ToInt32(id);
            int thispage = 0;

            if (page != 0)
            {
                thispage = Convert.ToInt32(page);
            }
            if (Id == 0)
            {//tüm gruplar için
                var user          = _userService.GetByUserName(User.Identity.Name);
                var eczaneGruplar = _eczaneGrupService.GetDetayListByUser(user);
                var alimlar       = _alimService.GetListByEczaneGruplar(eczaneGruplar);
                var teklifler     = _teklifService.GetMyDetayListByEczaneGruplar(eczaneGruplar);
                var grupIdler     = eczaneGruplar.Select(s => s.GrupId).Distinct().ToList();
                var gruplar       = _grupService.GetList().Where(w => grupIdler.Contains(w.Id));
                var ilaclar       = _ilacService.GetList();

                var alimlarGroupByIlacId = teklifler.GroupBy(g => g.IlacId) //.Select(s => s.Sum(d => d.Miktar));
                                           .Select(g => new AlimGroupByIlacId
                {
                    IlacId = g.Key,
                    //AlimDurumAdi = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimDurumAdi).FirstOrDefault(),
                    //AlimDurumId = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimDurumId).FirstOrDefault(),
                    //ToplamAlimMiktari = g.Sum(x => x.Miktar),
                    //AlimTarihi = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimTarihi).FirstOrDefault(),
                    //NetFiyat = teklifler.Where(w => w.Id == g.Key).Select(s => s.NetFiyat).FirstOrDefault(),
                    //YayinlamaTurAdi = teklifler.Where(w => w.Id == g.Key).Select(s => s.YayinlamaTurAdi).FirstOrDefault(),
                    //TeklifiVerenEczaneAdi = teklifler.Where(w => w.Id == g.Key).Select(s => s.TeklifiVerenEczaneAdi).FirstOrDefault(),
                    //Kalan = teklifler.Where(w => w.Id == g.Key).Select(s => s.HedeflenenAlim).FirstOrDefault() - g.Sum(x => x.Miktar),
                    //ToplamFiyat = g.Sum(x => x.Miktar) * teklifler.Where(w => w.Id == g.Key).Select(s => s.NetFiyat).FirstOrDefault(),

                    IlacAdi = teklifler.Where(w => w.IlacId == g.Key).Select(s => s.IlacAdi).FirstOrDefault(),


                    BuAyHareketleri = _alimService.GetDetaylar().Where(w =>
                                                                       (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                                       w.GonderimTarihi > DateTime.Now.AddMonths(-1)).Count(),
                    GecenAyHareketleri = _alimService.GetDetaylar().Where(w =>
                                                                          (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                                          w.GonderimTarihi > DateTime.Now.AddMonths(-2) && w.GonderimTarihi < DateTime.Now.AddMonths(-1)).Count(),
                    DagitilanTeklifSayisi = teklifler.Where(w => w.IlacId == g.Key && alimlar.
                                                            Where(x => x.AlimDurumId == 4).Select(s => s.TeklifId).Contains(w.Id)).Count(),
                    DagitimToplami = _alimService.GetDetaylar().Where(w =>
                                                                      (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId)).Sum(s => s.Miktar),
                    GrubaGirdigiTeklifSayisi       = teklifler.Where(w => w.IlacId == g.Key).Count(),
                    TekliflerdenKazandirdigiMiktar = _alimService.GetDetaylar().Where(w =>
                                                                                      (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                                                     .Sum(s => s.EtiketFiyati * s.Miktar) - _alimService.GetDetaylar().Where(w =>
                                                                                                                             (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                                                     .Sum(s => s.NetFiyat * s.Miktar)
                }).OrderByDescending(o => o.TekliflerdenKazandirdigiMiktar).ToList();

                ViewBag.EczaneGrupId = new SelectList(gruplar, "Id", "Adi", Id);
                var pager = new Pager(alimlarGroupByIlacId.Count(), thispage);

                var model = new IlacRaporViewModel()
                {
                    AlimlarGroupByIlacIdler = alimlarGroupByIlacId.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),

                    //AlimDetaylar = alimlar,
                    //Eczaneler = eczaneler,
                    Ilaclar = ilaclar,
                    //TeklifDetaylar = teklifler,
                    Pager = pager
                };
                return(View(model));
            }
            else
            {//seçili grup için
                var user            = _userService.GetByUserName(User.Identity.Name);
                var eczaneGruplar   = _eczaneGrupService.GetDetayListByUser(user).ToList();
                var eczaneGruplarAz = _eczaneGrupService.GetDetaylar().Where(w => w.GrupId == Id).ToList();
                //var grupId = Id;
                var eczaneGrupIdler = eczaneGruplar.Where(w => w.GrupId == Id).Select(s => s.Id).Distinct().ToList();
                var grupIdler       = eczaneGruplar.Select(s => s.GrupId).Distinct().ToList();
                var gruplar         = _grupService.GetList().Where(w => grupIdler.Contains(w.Id));
                var ilaclar         = _ilacService.GetList();


                var teklifIdler = _teklifService.GetList()
                                  .Where(w => eczaneGrupIdler.Contains(w.TeklifiVerenEczaneGrupId))
                                  .Select(s => s.Id).ToList();
                var alimlar = _alimService.GetDetayListByTeklifler(teklifIdler).ToList();

                var teklifler = _teklifService.GetMyListByEczaneGruplar(eczaneGruplar);


                var alimlarGroupByIlacId = alimlar.GroupBy(g => g.IlacId) //.Select(s => s.Sum(d => d.Miktar));
                                           .Select(g => new AlimGroupByIlacId
                {
                    IlacId = g.Key,
                    //AlimDurumAdi = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimDurumAdi).FirstOrDefault(),
                    //AlimDurumId = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimDurumId).FirstOrDefault(),
                    //ToplamAlimMiktari = g.Sum(x => x.Miktar),
                    //AlimTarihi = alimlar.Where(w => w.TeklifId == g.Key).Select(s => s.AlimTarihi).FirstOrDefault(),
                    //NetFiyat = teklifler.Where(w => w.Id == g.Key).Select(s => s.NetFiyat).FirstOrDefault(),
                    //YayinlamaTurAdi = teklifler.Where(w => w.Id == g.Key).Select(s => s.YayinlamaTurAdi).FirstOrDefault(),
                    //TeklifiVerenEczaneAdi = teklifler.Where(w => w.Id == g.Key).Select(s => s.TeklifiVerenEczaneAdi).FirstOrDefault(),
                    //Kalan = teklifler.Where(w => w.Id == g.Key).Select(s => s.HedeflenenAlim).FirstOrDefault() - g.Sum(x => x.Miktar),
                    //ToplamFiyat = g.Sum(x => x.Miktar) * teklifler.Where(w => w.Id == g.Key).Select(s => s.NetFiyat).FirstOrDefault(),

                    IlacAdi = alimlar.Where(w => w.IlacId == g.Key).Select(s => s.IlacAdi).FirstOrDefault(),


                    BuAyHareketleri = _alimService.GetDetaylar().Where(w =>
                                                                       (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                                       w.GonderimTarihi > DateTime.Now.AddMonths(-1)).Count(),
                    GecenAyHareketleri = _alimService.GetDetaylar().Where(w =>
                                                                          (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                                          w.GonderimTarihi > DateTime.Now.AddMonths(-2) && w.GonderimTarihi < DateTime.Now.AddMonths(-1)).Count(),
                    DagitilanTeklifSayisi = teklifler.Where(w => w.IlacId == g.Key && alimlar.
                                                            Where(x => x.AlimDurumId == 4).Select(s => s.TeklifId).Contains(w.Id)).Count(),
                    DagitimToplami = _alimService.GetDetaylar().Where(w =>
                                                                      (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId)).Sum(s => s.Miktar),
                    GrubaGirdigiTeklifSayisi       = teklifler.Where(w => w.IlacId == g.Key).Count(),
                    TekliflerdenKazandirdigiMiktar = _alimService.GetDetaylar().Where(w =>
                                                                                      (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                                                     .Sum(s => s.EtiketFiyati * s.Miktar) - _alimService.GetDetaylar().Where(w =>
                                                                                                                             (teklifler.Where(x => x.IlacId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                                                     .Sum(s => s.NetFiyat * s.Miktar)
                }).OrderByDescending(o => o.TekliflerdenKazandirdigiMiktar).ToList();

                ViewBag.EczaneGrupId = new SelectList(gruplar, "Id", "Adi", Id);
                var pager = new Pager(alimlarGroupByIlacId.Count(), thispage);


                var model = new IlacRaporViewModel()
                {
                    AlimlarGroupByIlacIdler = alimlarGroupByIlacId.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),

                    //AlimDetaylar = alimlar,
                    //Eczaneler = eczaneler,
                    Ilaclar = ilaclar,
                    //TeklifDetaylar = teklifler,
                    Pager = pager
                };
                return(View(model));
            }
        }