private List <TeklifDetayAlimDetaylarViewModel> getGonderimlerim_EczaneGrupdetay(List <TeklifDetayAlimDetaylarViewModel> teklifDetayAlimDetaylarViewModel, string page, string teklifDurumId, string alimDurumId) { var user = _userService.GetByUserName(User.Identity.Name); var userId = _userService.GetByUserName(User.Identity.Name).Id; var eczaneGrupIdlerim = _eczaneGrupService.GetListByUser(user).Select(s => s.EczaneId).ToList(); var grupIdler = _grupService.GetListByUser(user).Select(s => s.Id); var bulundugumGruplardakiEczaneGrupIdler = _eczaneGrupService.GetList().Where(w => grupIdler.Contains(w.GrupId)) .Select(s => s.Id).ToList(); var verdigimTeklifIdler = _teklifService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.TeklifiVerenEczaneGrupId)) .Select(s => s.Id).ToList(); var verdigimTeklifler = new List <TeklifDetay>(); if (teklifDurumId != null && teklifDurumId != "") { verdigimTeklifler = _teklifService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.TeklifiVerenEczaneGrupId)) .Where(w => w.TeklifDurumId == Convert.ToInt32(teklifDurumId)) .OrderByDescending(o => o.BaslangicTarihi).ToList(); } else { verdigimTeklifler = _teklifService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.TeklifiVerenEczaneGrupId)) .OrderByDescending(o => o.BaslangicTarihi).ToList(); } var alimDetaylar = _alimService.GetDetaylar(); if (alimDurumId != null && alimDurumId != "") { alimDetaylar = _alimService.GetDetaylar(w => verdigimTeklifIdler.Contains(w.TeklifId)) .Where(w => w.AlimDurumId == Convert.ToInt32(alimDurumId)).ToList(); } else { alimDetaylar = _alimService.GetDetaylar(w => verdigimTeklifIdler.Contains(w.TeklifId)).ToList(); } var eczaneGrupDetaylar = _eczaneGrupService.GetDetaylar(w => bulundugumGruplardakiEczaneGrupIdler.Contains(w.Id)) .Distinct().ToList(); if (page == "" || page == null) { page = "1"; } var pager = new Pager(verdigimTeklifler.Count(), Convert.ToInt32(page)); //verdigimTeklifler = verdigimTeklifler.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); foreach (var item in verdigimTeklifler) { var alimDetaylars = alimDetaylar.Where(w => w.TeklifId == item.Id).ToList(); foreach (var item2 in alimDetaylars) { if (item.Id == item2.TeklifId) { if (!teklifDetayAlimDetaylarViewModel.Any(s => s.TeklifDetay.IlacId == item2.IlacId)) {//distinct olması için teklifDetayAlimDetaylarViewModel.Add(new TeklifDetayAlimDetaylarViewModel { AlimDetaylar = alimDetaylars, TeklifDetay = item, Pager = pager }); } } } } var AlimDurumlar = _alimDurumService.GetList();//.Where(w => w.AliciTarafiMi != true); ViewBag.AlimDurumIdFilter = new SelectList(AlimDurumlar, "Id", "Adi", alimDurumId); var TeklifDurumlar = _teklifDurumService.GetList(); ViewBag.TeklifDurumIdFilter = new SelectList(TeklifDurumlar, "Id", "Adi", teklifDurumId); return(teklifDetayAlimDetaylarViewModel); }
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)); }
private List <AlimDetayAlimDetaylarViewModel> getAlimlarim(List <AlimDetayAlimDetaylarViewModel> AlimDetayAlimDetaylarViewModel, string page, string teklifDurumId, string alimDurumId) { var user = _userService.GetByUserName(User.Identity.Name); var userId = _userService.GetByUserName(User.Identity.Name).Id; var eczaneler = _eczaneService.GetListByUser(user); var eczaneIdlerim = _eczaneUserService.GetListByUserId(userId).Select(s => s.EczaneId).ToList(); var eczaneGrupIdlerim = _eczaneGrupService.GetListByUser(user).Select(s => s.EczaneId); var gruplar = _grupService.GetListByUser(user); var eczaneGruplar = _eczaneGrupService.GetListByUser(user); var eczanegrupIdler = eczaneGruplar.Select(s => s.Id).ToList(); var eczaneIdler = eczaneler.Select(s => s.Id).ToList(); var digerAlimDetaylar = _alimService.GetDetaylar(w => !eczaneGrupIdlerim.Contains(w.EczaneGrupId)); var alimDetaylar = new List <AlimDetay>(); if (alimDurumId != null && alimDurumId != "") { if (teklifDurumId != null && teklifDurumId != "") { alimDetaylar = _alimService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.EczaneGrupId)) .Where(w => w.AlimDurumId == Convert.ToInt32(alimDurumId) && w.TeklifDurumId == Convert.ToInt32(teklifDurumId)) .OrderByDescending(o => o.AlimTarihi).ToList(); } else { alimDetaylar = _alimService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.EczaneGrupId)) .Where(w => w.AlimDurumId == Convert.ToInt32(alimDurumId)) .OrderByDescending(o => o.AlimTarihi).ToList(); } } else { if (teklifDurumId != null && teklifDurumId != "") { alimDetaylar = _alimService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.EczaneGrupId)) .Where(w => w.TeklifDurumId == Convert.ToInt32(teklifDurumId)) .OrderByDescending(o => o.AlimTarihi).ToList(); } else { alimDetaylar = _alimService.GetDetaylar(w => eczaneGrupIdlerim.Contains(w.EczaneGrupId)) .OrderByDescending(o => o.AlimTarihi).ToList(); } } if (page == "" || page == null) { page = "1"; } var AlimDurumlar = _alimDurumService.GetList();//.Where(w => w.AliciTarafiMi != true); ViewBag.AlimDurumIdFilter = new SelectList(AlimDurumlar, "Id", "Adi", alimDurumId); var TeklifDurumlar = _teklifDurumService.GetList(); ViewBag.TeklifDurumIdFilter = new SelectList(TeklifDurumlar, "Id", "Adi", teklifDurumId); var pager = new Pager(alimDetaylar.Count(), Convert.ToInt32(page)); //alimDetaylar = alimDetaylar.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); foreach (var item in alimDetaylar) { var alimDetaylars = digerAlimDetaylar.Where(w => w.TeklifId == item.TeklifId).ToList(); AlimDetayAlimDetaylarViewModel.Add(new AlimDetayAlimDetaylarViewModel { AlimDetay = item, AlimDetaylar = alimDetaylars, Pager = pager }); } return(AlimDetayAlimDetaylarViewModel); }
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)); } }
private List <TeklifDetayAlimDetaylarViewModel> getTeklifler(List <TeklifDetayAlimDetaylarViewModel> teklifDetayAlimDetaylarViewModel, string page, string teklifDurumId, string alimDurumId) { 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 eczaneIdler = eczaneler.Select(s => s.Id).ToList(); var teklifDetaylar = new List <TeklifDetay>(); var alimDetaylar = _alimService.GetDetaylar(); if (alimDurumId != null && alimDurumId != "") { alimDetaylar = alimDetaylar.Where(w => w.AlimDurumId == Convert.ToInt32(alimDurumId)).ToList(); } if (teklifDurumId != null && teklifDurumId != "") { teklifDetaylar = _teklifService.GetListByEczaneGrupId(eczanegrupIdler.FirstOrDefault()); teklifDetaylar = teklifDetaylar .Where(w => !eczanegrupIdler.Contains(w.TeklifiVerenEczaneGrupId) && w.TeklifDurumId == Convert.ToInt32(teklifDurumId) && (w.BitisTarihi > System.DateTime.Now || w.BitisTarihi == null) && w.BaslangicTarihi < System.DateTime.Now) .OrderByDescending(o => o.BaslangicTarihi).ToList(); } else { teklifDetaylar = _teklifService.GetListByEczaneGrupId(eczanegrupIdler.FirstOrDefault()); teklifDetaylar = teklifDetaylar .Where(w => !eczanegrupIdler.Contains(w.TeklifiVerenEczaneGrupId) && //&& w.TeklifDurumId == 1 (w.BitisTarihi > System.DateTime.Now || w.BitisTarihi == null) && w.BaslangicTarihi < System.DateTime.Now) .OrderByDescending(o => o.BaslangicTarihi).ToList(); } if (page == "" || page == null) { page = "1"; } var pager = new Pager(teklifDetaylar.Count(), Convert.ToInt32(page)); //teklifDetaylar = teklifDetaylar.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); var AlimDurumlar = _alimDurumService.GetList(); ViewBag.AlimDurumIdFilter = new SelectList(AlimDurumlar, "Id", "Adi", alimDurumId); var TeklifDurumlar = _teklifDurumService.GetList(); ViewBag.TeklifDurumIdFilter = new SelectList(TeklifDurumlar, "Id", "Adi", teklifDurumId); foreach (var item in teklifDetaylar) { var alimDetaylars = alimDetaylar.Where(w => w.TeklifId == item.Id).ToList(); teklifDetayAlimDetaylarViewModel.Add(new TeklifDetayAlimDetaylarViewModel { TeklifDetay = item, AlimDetaylar = alimDetaylars, Pager = pager }); } return(teklifDetayAlimDetaylarViewModel); }
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)); }