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);
        }
Ejemplo n.º 2
0
        public ActionResult Index(int?id, int?page)
        {
            int Id       = Convert.ToInt32(id);
            int thispage = 0;

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

            var user          = _userService.GetByUserName(User.Identity.Name);
            var eczaneGruplar = _eczaneGrupService.GetDetayListByUser(user).ToList();
            var grupIdler     = eczaneGruplar.Select(s => s.GrupId).Distinct().ToList();
            var gruplar       = _grupService.GetList().Where(w => grupIdler.Contains(w.Id)).ToList();

            ViewBag.EczaneGrupId = new SelectList(gruplar, "Id", "Adi", Id);

            if (Id == 0)
            {//seçilmemiş ise ilk sıradaki grup gelsin
                Id = grupIdler.First();
            }
            var eczaneGruplarSeciliEczaneGrupIdIcin = _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 teklifIdler     = _teklifService.GetList()
                                  .Where(w => eczaneGrupIdler.Contains(w.TeklifiVerenEczaneGrupId))
                                  .Select(s => s.Id).ToList();
            var alimlar   = _alimService.GetDetayListByTeklifler(teklifIdler).ToList();
            var teklifler = _teklifService.GetMyDetayListByEczaneGruplar(eczaneGruplarSeciliEczaneGrupIdIcin).ToList();
            var eczaneler = _eczaneService.GetListByUser(user);

            var alimlarGroupByEczaneGrupId = alimlar.GroupBy(g => g.EczaneGrupId) //.Select(s => s.Sum(d => d.Miktar));
                                             .Select(g => new AlimGroupByEczaneGrupId
            {
                EczaneGrupId = g.Key,
                EczaneAdi    = alimlar.Where(w => w.EczaneGrupId == g.Key).Select(s => s.EczaneAdi).FirstOrDefault(),
                GrupAdi      = eczaneGruplar.Where(w => w.Id == g.Key).Select(s => s.GrupAdi).FirstOrDefault(),
                GrupId       = eczaneGruplar.Where(w => w.Id == g.Key).Select(s => s.GrupId).FirstOrDefault(),
                EczaneGln    = alimlar.Where(w => w.EczaneGrupId == g.Key).Select(s => s.EczaneGln).FirstOrDefault(),
                Gelir        = _alimService.GetDetaylar().Where(w =>
                                                                (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                                w.AlimDurumId == 4)
                               .Sum(s => s.NetFiyat * s.Miktar),
                Gider = alimlar.Where(w => w.AlimDurumId == 4 && w.EczaneGrupId == g.Key).Sum(s => s.NetFiyat * s.Miktar)
                ,
                Bakiye =
                    _alimService.GetDetaylar().Where(w =>
                                                     (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                     w.AlimDurumId == 4)
                    .Sum(s => s.NetFiyat * s.Miktar)
                    - alimlar.Where(w => w.AlimDurumId == 4 && w.EczaneGrupId == g.Key).Sum(s => s.NetFiyat * s.Miktar)
                ,
                ToplamAlimMiktari     = alimlar.Where(w => w.EczaneGrupId == g.Key).Sum(s => s.Miktar),
                BuAyHareketleri       = alimlar.Where(w => w.EczaneGrupId == g.Key && w.GonderimTarihi > DateTime.Now.AddMonths(-1)).Sum(s => s.Id),
                GecenAyHareketleri    = alimlar.Where(w => w.EczaneGrupId == g.Key && w.GonderimTarihi > DateTime.Now.AddMonths(-2) && w.GonderimTarihi < DateTime.Now.AddMonths(-1)).Sum(s => s.Id),
                DagittigiTeklifSayisi = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == 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.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id))
                                                                  .Contains(w.TeklifId) && w.AlimDurumId == 4).Sum(s => s.Miktar),
                GrubaGirdigiTeklifSayisi       = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key).Count(),
                TekliflerdenKazandirdigiMiktar =
                    _alimService.GetDetaylar().Where(w =>
                                                     (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                    .Sum(s => s.DepoFiyati * s.Miktar) - _alimService.GetDetaylar().Where(w =>
                                                                                          (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                    .Sum(s => s.NetFiyat * s.Miktar)
            }).Where(w => w.GrupId == Id)
                                             .OrderByDescending(o => o.Bakiye).ToList();

            //alım yapmamış ama teklif vermiş olanlar olabilir, bunlar için teklif tablosundan çekmek gerekir herşeyi:
            var tekliflerGroupByEczaneGrupId = teklifler
                                               .Where(w => !alimlarGroupByEczaneGrupId.Select(s => s.EczaneGrupId).Contains(w.TeklifiVerenEczaneGrupId))
                                               .GroupBy(g => g.TeklifiVerenEczaneGrupId)

                                               .Select(g => new AlimGroupByEczaneGrupId
            {
                EczaneGrupId = g.Key,
                EczaneAdi    = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.TeklifiVerenEczaneAdi).FirstOrDefault(),
                GrupAdi      = eczaneGruplar.Where(w => w.Id == g.Key).Select(s => s.GrupAdi).FirstOrDefault(),
                GrupId       = eczaneGruplar.Where(w => w.Id == g.Key).Select(s => s.GrupId).FirstOrDefault(),
                EczaneGln    = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.TeklifiVerenEczaneGln).FirstOrDefault(),
                //EczaneGln = eczaneler.Where(x => x.Id == eczaneGruplar.Where(w => w.Id == g.Key).Select(s => s.EczaneId).FirstOrDefault()).Select(s => s.EczaneGln).FirstOrDefault(),
                Gelir = _alimService.GetDetaylar().Where(w =>
                                                         (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                         w.AlimDurumId == 4)
                        .Sum(s => s.NetFiyat * s.Miktar),
                Gider = alimlar.Where(w => w.AlimDurumId == 4 && w.EczaneGrupId == g.Key).Sum(s => s.NetFiyat * s.Miktar)
                ,
                Bakiye = _alimService.GetDetaylar().Where(w =>
                                                          (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId) &&
                                                          w.AlimDurumId == 4)
                         .Sum(s => s.NetFiyat * s.Miktar) - alimlar.Where(w => w.AlimDurumId == 4 && w.EczaneGrupId == g.Key).Sum(s => s.NetFiyat * s.Miktar),


                ToplamAlimMiktari = alimlar.Where(w => w.TeklifVerenEczaneGrupId == teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id).FirstOrDefault()).Sum(s => s.Miktar),

                BuAyHareketleri       = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key && w.GonderimTarihi > DateTime.Now.AddMonths(-1)).Sum(s => s.Id),
                GecenAyHareketleri    = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key && w.GonderimTarihi > DateTime.Now.AddMonths(-2) && w.GonderimTarihi < DateTime.Now.AddMonths(-1)).Sum(s => s.Id),
                DagittigiTeklifSayisi = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == 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.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id))
                                                                  .Contains(w.TeklifId) && w.AlimDurumId == 4).Sum(s => s.Miktar),
                GrubaGirdigiTeklifSayisi       = teklifler.Where(w => w.TeklifiVerenEczaneGrupId == g.Key).Count(),
                TekliflerdenKazandirdigiMiktar =
                    _alimService.GetDetaylar().Where(w =>
                                                     (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                    .Sum(s => s.DepoFiyati * s.Miktar) - _alimService.GetDetaylar().Where(w =>
                                                                                          (teklifler.Where(x => x.TeklifiVerenEczaneGrupId == g.Key).Select(s => s.Id)).Contains(w.TeklifId))
                    .Sum(s => s.NetFiyat * s.Miktar)
            })//.Where(w => w.GrupId == Id)
                                               .OrderByDescending(o => o.Bakiye).ToList();

            var unionAll = tekliflerGroupByEczaneGrupId.Union(alimlarGroupByEczaneGrupId)
                           .OrderByDescending(o => o.Bakiye).ToList();
            var pager = new Pager(unionAll.Count(), thispage);
            var model = new GrupRaporViewModel()
            {
                AlimlarGroupByEczaneGrupId = unionAll.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),

                //AlimDetaylar = alimlar,
                //Eczaneler = eczaneler,
                EczaneGrupDetaylar = eczaneGruplarSeciliEczaneGrupIdIcin,
                //TeklifDetaylar = teklifler,
                Pager = pager,
            };

            return(View(model));
        }
Ejemplo n.º 3
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));
            }
        }
Ejemplo n.º 4
0
        public ActionResult Index(int?id)
        {
            int Id    = Convert.ToInt32(id);
            var model = new EczaneRaporViewModel();

            if (Id == 0)
            {//tüm gruplar için
                var user = _userService.GetByUserName(User.Identity.Name);

                var eczaneGruplar   = _eczaneGrupService.GetMyDetayListByUser(user);
                var eczaneGrupIdler = eczaneGruplar.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)).ToList();

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

                var eczaneninYaptigiTekliflerdenYapilanAlimlar = alimlar.Where(w => w.AlimDurumId == 4).ToList();
                var tekliftenYapilanAlimTutari = eczaneninYaptigiTekliflerdenYapilanAlimlar.Sum(s => s.NetFiyat * s.Miktar);
                #endregion

                #region Alımlar
                var yapilanAlimIdler = _alimService.GetList()
                                       .Where(w => eczaneGrupIdler.Contains(w.EczaneGrupId))
                                       .Select(s => s.Id).ToList();
                var yapilanAlimlar             = _alimService.GetDetaylar().Where(w => yapilanAlimIdler.Contains(w.Id)).ToList();
                var eczaneninYaptigiAlimlar    = yapilanAlimlar.Where(w => w.AlimDurumId == 4).ToList();
                var eczaneninYaptigiAlimtutari = eczaneninYaptigiAlimlar.Sum(s => s.NetFiyat * s.Miktar);
                #endregion

                #region dropDownList

                // eczaneGruplar.Add(new Northwind.Entities.ComplexTypes.IlacTakip.EczaneGrupDetay { Id = 0, Adi = "Hepsi" });
                ViewBag.EczaneGrupId = new SelectList(gruplar, "Id", "Adi", Id);

                #endregion

                model = new EczaneRaporViewModel()
                {
                    Giderler           = eczaneninYaptigiAlimtutari,
                    Gelirler           = tekliftenYapilanAlimTutari,
                    EczaneGrupDetaylar = eczaneGruplar,
                    Bakiye             = tekliftenYapilanAlimTutari - eczaneninYaptigiAlimtutari
                };
            }
            else
            {//seçili grup için
                var user          = _userService.GetByUserName(User.Identity.Name);
                var eczaneGruplar = _eczaneGrupService.GetMyDetayListByUser(user).ToList();
                var eczaneGrupId  = Id;

                var grupIdler = eczaneGruplar.Select(s => s.GrupId).Distinct().ToList();
                var gruplar   = _grupService.GetList().Where(w => grupIdler.Contains(w.Id)).ToList();


                #region teklifler
                var teklifIdler = _teklifService.GetList()
                                  .Where(w => w.TeklifiVerenEczaneGrupId == eczaneGrupId)
                                  .Select(s => s.Id).ToList();
                var alimlar = _alimService.GetDetayListByTeklifler(teklifIdler).ToList();

                var eczaneninYaptigiTekliflerdenYapilanAlimlar = alimlar.Where(w => w.AlimDurumId == 4).ToList();
                var tekliftenYapilanAlimTutari = eczaneninYaptigiTekliflerdenYapilanAlimlar.Sum(s => s.NetFiyat * s.Miktar);
                #endregion

                #region Alımlar
                var yapilanAlimIdler = _alimService.GetList()
                                       .Where(w => w.EczaneGrupId == eczaneGrupId)
                                       .Select(s => s.Id).ToList();
                var yapilanAlimlar             = _alimService.GetDetaylar().Where(w => yapilanAlimIdler.Contains(w.Id)).ToList();
                var eczaneninYaptigiAlimlar    = yapilanAlimlar.Where(w => w.AlimDurumId == 4).ToList();
                var eczaneninYaptigiAlimtutari = eczaneninYaptigiAlimlar.Sum(s => s.NetFiyat * s.Miktar);
                #endregion

                #region dropDownList

                // eczaneGruplar.Add(new Northwind.Entities.ComplexTypes.IlacTakip.EczaneGrupDetay { Id = 0, Adi = "Hepsi" });
                ViewBag.EczaneGrupId = new SelectList(gruplar, "Id", "Adi", Id);

                #endregion

                model = new EczaneRaporViewModel()
                {
                    Giderler           = eczaneninYaptigiAlimtutari,
                    Gelirler           = tekliftenYapilanAlimTutari,
                    EczaneGrupDetaylar = eczaneGruplar,
                    Bakiye             = tekliftenYapilanAlimTutari - eczaneninYaptigiAlimtutari
                };
            }
            return(View(model));
        }