public override object ExecuteReport(MethodReturn refMr = null) { List <SERVISTEKNISYEN_REPORT_DATA> servisTeknisyenler = R.Query <SERVISTEKNISYEN_REPORT_DATA>(refMr).Where(t => t.SERVISID == ServisId).ToList(); //Tarih Aralığında Personelin Hareketlerini Bul List <TEKNISYENHAREKET> hareketler = R.Query <TEKNISYENHAREKET>(refMr).Where(t => t.GIRISTARIHI.Between(StartDate.startOfDay(), FinishDate.endOfDay()) && t.SERVISTEKNISYENID.In(servisTeknisyenler.select(tks => tks.ID)) && t.DURUM == YeniTeknisyenHareketDurum.Cikis).ToList(); //Bu Hareketlerde Kullanılan İşEmirİşlemleri Çek List <Teknisyen_ViewServisIsEmirIslemIscilikler> iscilikler = Teknisyen_ViewServisIsEmirIslemIscilikler.SelectOverloadFromISLEMID(hareketler.select(t => t.ISEMIRISLEMID).Distinct().toList()); PuantajGunlugu pg = new PuantajGunlugu(); List <ServisGunMola> servisGunMolalari = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); List <HareketNeden> hareketNedenler = HareketNeden.Select_Nedenler(); foreach (SERVISTEKNISYEN_REPORT_DATA servisTeknisyen in servisTeknisyenler) { var teknisyenHareketler = hareketler.where (t => t.SERVISTEKNISYENID == servisTeknisyen.ID).orderBy(t => t.GIRISTARIHI).toList(); List <decimal> teknisyenIslemIds = teknisyenHareketler.select(t => t.ISEMIRISLEMID).Distinct().toList(); var teknisyenIscilikler = iscilikler.where (t => teknisyenIslemIds.contains(t.SERVISISEMIRISLEMID)).toList(); servisTeknisyen.Faturalanan_Dakika = (int)teknisyenIscilikler.Sum(t => t.Iscilik_Dakika_Suresi); List <DateTime> tarihler = teknisyenHareketler.select(t => t.GIRISTARIHI.Date).Distinct().toList(); foreach (var tarih in tarihler) { var firstIn = teknisyenHareketler.where (t => t.GIRISTARIHI.Date == tarih).first().GIRISTARIHI; var lastOut = teknisyenHareketler.where (t => t.GIRISTARIHI.Date == tarih).last().CIKISTARIHI; servisTeknisyen.NetMevcudiyet_Dakika += (int)(lastOut - firstIn).TotalMinutes; } TEKNISYENHAREKET.DAGILIM_SONUCLARI hamPntjData = Puantaj.GetPuantajSonuclari(teknisyenHareketler, pg, servisGunMolalari, hareketNedenler); servisTeknisyen.FiiliCalisma_Dakika = hamPntjData.GetSonucSure(NedenFormati.NormalCalisma); } return(servisTeknisyenler); }
public static List <Teknisyen_ViewServisIsEmirIslemIscilikler> Select_IsEmirIslem_Iscilikleri_View(decimal isEmirIslemId, decimal servisTeknisyenId) { List <Teknisyen_ViewServisIsEmirIslemIscilikler> list = R.Query <Teknisyen_ViewServisIsEmirIslemIscilikler>().Where(t => t.SERVISISEMIRISLEMID == isEmirIslemId).ToList(); List <HareketUstBilgi> isEmirIslem_UstHareketBilgileri = HareketUstBilgi.Select_IsEmirIslem_UstHareketBilgileri(isEmirIslemId); List <TeknisyenHareket> isEmirIslem_TeknisyenHareketleri = TeknisyenHareket.Select_IsEmirIslem_TeknisyenHareketleri(isEmirIslemId); decimal servisId = isEmirIslem_UstHareketBilgileri.first().SERVISID; List <ServisGunMola> servis_gun_molalar = ServisGunMola.SelectServisGunMolalar(servisId); List <HareketNeden> nedenler = HareketNeden.Select_Nedenler(); PuantajGunlugu pg = new PuantajGunlugu(); pg.InitNedenler(nedenler); list.forEach(iscilik => { List <HareketUstBilgi> iscilik_UstBilgileri = isEmirIslem_UstHareketBilgileri.where (t => t.ISEMIRISLEMISCILIKID == iscilik.ID).toList(); List <TeknisyenHareket> iscilik_TeknisyenHareketleri = null; List <TeknisyenHareket> servisTeknisyenHareketleri = null; iscilik.TeknisyenIsDurumu = LocalHelpers.GetTeknisyenDurum(servisTeknisyenId, isEmirIslem_TeknisyenHareketleri, iscilik_UstBilgileri, out iscilik_TeknisyenHareketleri, out servisTeknisyenHareketleri); if (iscilik_UstBilgileri.isNotEmpty()) { iscilik.PlanlananSure = iscilik_UstBilgileri.Sum(t => t.PLANLANANSURE); } TeknisyenHareketDagilimSonuclari puantajSonuclari = Puantaj.GetPuantajSonuclari(iscilik_TeknisyenHareketleri, pg, servis_gun_molalar, nedenler); iscilik.CalisilanSure = puantajSonuclari.GetSonucSure(NedenFormati.NormalCalisma); iscilik.TeknisyenSure = puantajSonuclari.GetSonucSure(servisTeknisyenId, NedenFormati.NormalCalisma); }); return(list); }
public static List <Teknisyen_ViewServisIsEmirIslemler> Select_IsEmir_Islemler_View(decimal ownerIsEmirId, decimal servisTeknisyenId) { MethodReturn mr = new MethodReturn(); List <Teknisyen_ViewServisIsEmirIslemler> servisIsEmirIslemler = R.Query <Teknisyen_ViewServisIsEmirIslemler>(mr).Where(t => t.SERVISISEMIRID == ownerIsEmirId).ToList(); List <HareketUstBilgi> isEmir_UstHareketBilgileri = HareketUstBilgi.Select_IsEmir_UstHareketBilgileri(ownerIsEmirId, mr); List <TeknisyenHareket> isEmir_TeknisyenHareketleri = TeknisyenHareket.Select_IsEmir_TeknisyenHareketleri(ownerIsEmirId, mr); List <Teknisyen_ViewServisIsEmirIslemIscilikler> isEmir_Iscilikleri = Teknisyen_ViewServisIsEmirIslemIscilikler.Select_IsEmir_Iscilikleri(ownerIsEmirId); decimal servisId = isEmir_UstHareketBilgileri.first().SERVISID; List <ServisGunMola> servis_gun_molalar = ServisGunMola.SelectServisGunMolalar(servisId); List <HareketNeden> nedenler = HareketNeden.Select_Nedenler(); PuantajGunlugu pg = new PuantajGunlugu(); pg.InitNedenler(nedenler); servisIsEmirIslemler.forEach(islem => { List <HareketUstBilgi> islem_UstBilgileri = isEmir_UstHareketBilgileri.where (t => t.ISEMIRISLEMID == islem.ID).toList(); List <TeknisyenHareket> islem_TeknisyenHareketleri = null; List <TeknisyenHareket> servisTeknisyenHareketleri = null; islem.TeknisyenIsDurumu = LocalHelpers.GetTeknisyenDurum(servisTeknisyenId, isEmir_TeknisyenHareketleri, islem_UstBilgileri, out islem_TeknisyenHareketleri, out servisTeknisyenHareketleri);; var iscilikler = isEmir_Iscilikleri.where (t => t.SERVISISEMIRISLEMID == islem.ID).toList(); islem.ToplamIscilikSayisi = iscilikler.count(); if (islem_TeknisyenHareketleri.isNotEmpty()) { islem.CalisilanSure = servisTeknisyenHareketleri.Sum(t => t.CalismaDakika); } if (islem_UstBilgileri.isNotEmpty()) { islem.PlanlananSure = islem_UstBilgileri.Sum(t => t.PLANLANANSURE); } TeknisyenHareketDagilimSonuclari puantajSonuclari = Puantaj.GetPuantajSonuclari(islem_TeknisyenHareketleri, pg, servis_gun_molalar, nedenler); islem.CalisilanSure = puantajSonuclari.GetSonucSure(NedenFormati.NormalCalisma); islem.TeknisyenSure = puantajSonuclari.GetSonucSure(servisTeknisyenId, NedenFormati.NormalCalisma); }); return(servisIsEmirIslemler); }
public static List <Teknisyen_ViewServisIsEmirler> Select_Servis_IsEmirler_View(decimal servisId, decimal servisTeknisyenId) { MethodReturn mr = new MethodReturn(); List <Teknisyen_ViewServisIsEmirler> servis_IsEmirleri = R.Query <Teknisyen_ViewServisIsEmirler>().Where(t => t.SERVISID == servisId && t.TEKNIKOLARAKTAMAMLA == 0).ToList(); List <decimal> isEmirIds = servis_IsEmirleri.select(t => t.ID).ToList(); List <HareketUstBilgi> servis_UstHareketBilgileri = HareketUstBilgi.Select_IsEmirler_UstHareketBilgileri(isEmirIds); List <TeknisyenHareket> servis_TeknisyenHareketleri = TeknisyenHareket.Select_IsEmirler_TeknisyenHareketleri(isEmirIds); List <Teknisyen_ViewServisIsEmirIslemler> servis_IsEmirIslemleri = Teknisyen_ViewServisIsEmirIslemler.Select_IsEmirler_Islemler(isEmirIds); List <Teknisyen_ViewServisIsEmirIslemIscilikler> servis_IsEmirIslem_Iscilikleri = Teknisyen_ViewServisIsEmirIslemIscilikler.Select_IsEmirler_Iscilikleri(isEmirIds); List <ServisGunMola> servis_Gun_Molalar = ServisGunMola.SelectServisGunMolalar(servisId); List <HareketNeden> nedenler = HareketNeden.Select_Nedenler(); PuantajGunlugu pg = new PuantajGunlugu(); pg.InitNedenler(nedenler); servis_IsEmirleri.forEach(isemir => { List <HareketUstBilgi> isEmir_ustBilgileri = servis_UstHareketBilgileri.Where(t => t.ISEMIRID == isemir.ID).toList(); List <TeknisyenHareket> isEmir_TeknisyenHareketleri = null; List <TeknisyenHareket> servisTeknisyenHareketleri = null; isemir.TeknisyenIsDurumu = LocalHelpers.GetTeknisyenDurum(servisTeknisyenId, servis_TeknisyenHareketleri, isEmir_ustBilgileri, out isEmir_TeknisyenHareketleri, out servisTeknisyenHareketleri); if (isEmir_TeknisyenHareketleri.isNotEmpty()) { isemir.IlkHareketTarihi = isEmir_TeknisyenHareketleri.Min(t => t.GIRISTARIHI); isemir.SonHareketTarihi = isEmir_TeknisyenHareketleri.OrderByDescending(t => t.GIRISTARIHI).first().AktifCikisTarih; } if (isEmir_ustBilgileri.isNotEmpty()) { isemir.PlanlananSure = isEmir_ustBilgileri.Sum(t => t.PLANLANANSURE); } TeknisyenHareketDagilimSonuclari puantajSonuclari = Puantaj.GetPuantajSonuclari(isEmir_TeknisyenHareketleri, pg, servis_Gun_Molalar, nedenler); isemir.CalisilanSure = puantajSonuclari.GetSonucSure(NedenFormati.NormalCalisma);// isEmir_TeknisyenHareketleri.Sum(t => t.CalismaDakika); isemir.TeknisyenSure = puantajSonuclari.GetSonucSure(servisTeknisyenId, NedenFormati.NormalCalisma); }); return(servis_IsEmirleri.orderByDesc(t => t.TeknisyenDurumResim).toList()); }
public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = null; if (ServisTeknisyenIds.isEmpty()) { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); } else { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.ID.In(ServisTeknisyenIds)).ToList()); } TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(R.Query <RptTeknisyenHareket>(refMr).Where(h => h.SERVISTEKNISYENID.In(servisTeknisyenContainer.select(t => t.ID))).ToList()); IEnumerable <decimal> ustBilgiIds = teknisyenHareketContainer.select(t => t.THRKUSTBILGIID); List <HareketUstBilgi> hareketUstBilgiler = null; if (ustBilgiIds.isNotEmpty()) { hareketUstBilgiler = R.Query <HareketUstBilgi>(refMr).Where(t => t.ID.In(ustBilgiIds)).ToList(); } List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); List <RptIsEmir> isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.SERVISID == ServisId && t.KAYITTARIH.Between(StartDate, FinishDate)).ToList(); PuantajGunlugu pg = new PuantajGunlugu(); servisTeknisyenContainer.forEach(st => { teknisyenHareketContainer.GetTeknisyenHareketler(st.ID).forEach(hr => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ID == hr.THRKUSTBILGIID); ReportData reportData = new ReportData() { Teknisyen = st, Hareket = hr, IsEmir = isEmirler.first(t => t.ID == ustBilgi?.ISEMIRID), }; reportData.IsEmirIslem = reportData.IsEmir?.Islemler.first(t => t.ID == ustBilgi?.ISEMIRISLEMID); reportData.IsEmirIslemIscilik = reportData.IsEmirIslem?.Iscilikler.first(t => t.ID == ustBilgi?.ISEMIRISLEMISCILIKID); hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); }); }); CloseCustomAppPool(); return(reportDataSource); }
public override object ExecuteReport(MethodReturn refMr = null) { List <RptServisIsEmirlerInfo01> isEmirler = null; List <RptServisTeknisyenInfo> servisTeknisyenler = null; List <HareketUstBilgi> hareketUstBilgiler = null; List <HareketNeden> hareketNedenler = null; List <TeknisyenHareket> teknisyenHareketler = null; List <ServisGunMola> servisGunMolalari = null; PuantajGunlugu pg = new PuantajGunlugu(); List <decimal> isEmirIdler = null; //ToplamGunHesapla(); //isEmirler = R.Query<RptServisIsEmirlerInfo01>(refMr).Where(t => t.SERVISID == pServisId && t.KAYITTARIH.Between(pStart, pFinish) && t.TEKNIKOLARAKTAMAMLA == 1).ToList(); isEmirler = R.Query <RptServisIsEmirlerInfo01>(refMr).Where(t => t.SERVISID == ServisId && t.KAYITTARIH.Between(StartDate, FinishDate)).ToList(); if (refMr.ok()) { isEmirIdler = isEmirler.select(t => t.ID).toList(); servisTeknisyenler = R.Query <RptServisTeknisyenInfo>(refMr).Where(t => t.SERVISID == ServisId).ToList(); } if (refMr.ok()) { hareketUstBilgiler = HareketUstBilgi.Select_IsEmirler_UstHareketBilgileri(isEmirIdler, refMr); } if (refMr.ok()) { hareketNedenler = HareketNeden.Select_Nedenler(); } if (refMr.ok()) { servisGunMolalari = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); } //if (refMr.ok()) // pg.InitNedenler(hareketNedenler); if (refMr.ok()) { teknisyenHareketler = TeknisyenHareket.Select_IsEmirler_TeknisyenHareketleri(isEmirIdler, refMr); } decimal faturalananCarpan = 0.90m; decimal oran = 5; foreach (RptServisTeknisyenInfo teknisyenInfo in servisTeknisyenler) { oran += 0.6m; //faturalananCarpan += 0.01m; List <TeknisyenHareket> hareketler = teknisyenHareketler.where (t => t.SERVISTEKNISYENID == teknisyenInfo.ID).ToList().orderBy(t => t.GIRISTARIHI).toList(); List <decimal> ustBilgiIdler = hareketler.select(t => t.THRKUSTBILGIID).toList(); int toplamGun = hareketler.select(t => t.GIRISTARIHI.Date).Distinct().Count(); List <HareketUstBilgi> ustBilgiler = hareketUstBilgiler.where (t => ustBilgiIdler.contains(t.ID)).toList(); List <decimal> iscilikIdler = ustBilgiler.select(t => t.ISEMIRISLEMISCILIKID).toList(); TeknisyenHareketDagilimSonuclari hamPntjData = Puantaj.GetPuantajSonuclari(hareketler, pg, servisGunMolalari, hareketNedenler); //teknisyenInfo.FiiliCalisma = hamPntjData.GetSonucSure(NedenFormati.NormalCalisma); teknisyenInfo.NetMevcudiyet = (gunlukNetCalismaSuresi * toplamGun) * 60; teknisyenInfo.FiiliCalisma = teknisyenInfo.NetMevcudiyet.RemovePercent(oran).RoundToDecimals(0); teknisyenInfo.FaturalananDakika = (teknisyenInfo.FiiliCalisma * faturalananCarpan).RoundToDecimals(0); //List<Teknisyen_ViewServisIsEmirIslemIscilikler> iscilikler = Teknisyen_ViewServisIsEmirIslemIscilikler.SelectOverloadFromIDs(iscilikIdler); //if (iscilikler.isNotEmpty()) // teknisyenInfo.FaturalananDakika = iscilikler.Sum(t => t.Iscilik_Dakika_Suresi); } Toplam sonuc = new Toplam() { ToplamFaturalananDakika = servisTeknisyenler.Sum(t => t.FaturalananDakika), ToplamNetMevcudiyet = servisTeknisyenler.Sum(t => t.NetMevcudiyet), ToplamFiiliCalisma = servisTeknisyenler.Sum(t => t.FiiliCalisma), }; servisTeknisyenler.forEach(servisTeknisyen => { servisTeknisyen.Sonuc = sonuc; }); CloseCustomAppPool(); return(servisTeknisyenler); }
public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); PuantajGunlugu pg = new PuantajGunlugu(); List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = null; if (ServisTeknisyenIds.isEmpty()) { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); } else { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.ID.In(ServisTeknisyenIds)).ToList()); } List <RptIsEmir> isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.SERVISID == ServisId && t.KAYITTARIH.Between(StartDate, FinishDate)).ToList(); List <HareketUstBilgi> hareketUstBilgiler = HareketUstBilgi.Select_UstBilgiler_FromBig_IsEmirIds(isEmirler.select(i => i.ID)); TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(RptTeknisyenHareket.Select_From_UstBilgi_Ids <RptTeknisyenHareket>(hareketUstBilgiler.select(u => u.ID)).ToList()); isEmirler.forEach(isEmir => { isEmir.Islemler.forEach(islem => { islem.Iscilikler.forEach(iscilik => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ISEMIRISLEMISCILIKID == iscilik.ID); if (ustBilgi.isNotNull()) { teknisyenHareketContainer.GetUstBilgiHareketler(ustBilgi.ID).forEach(hr => { ServisTeknisyen servisTeknisyen = servisTeknisyenContainer[hr.SERVISTEKNISYENID]; if (servisTeknisyen.isNotNull()) { ReportData reportData = new ReportData() { Teknisyen = servisTeknisyen, Hareket = hr, IsEmir = isEmir, IsEmirIslem = islem, IsEmirIslemIscilik = iscilik }; hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); } }); } }); }); }); CloseCustomAppPool(); return(reportDataSource); }
public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); List <RptIsEmir> isEmirler = null; List <HareketUstBilgi> hareketUstBilgiler = null; TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = null; List <TModel01> sonHareketler = AppPool.EbaTestConnector.CreateQuery(@" select stek.id servisteknisyenid,thrk.sonhareketid, UB.ID USTBILGIID, UB.ISEMIRID, UB.ISEMIRISLEMID, UB.ISEMIRISLEMISCILIKID from (select id, teknisyenid from servisteknisyenler where servisid = {servisId}) stek left join ( select servisteknisyenid, max(id) sonHareketId from tteknisyenhrk group by servisteknisyenid ) thrk on THRK.SERVISTEKNISYENID = stek.id left join tteknisyenhrk hrk2 on hrk2.id = thrk.sonhareketid left join thrkustbilgi ub on ub.id = HRK2.THRKUSTBILGIID ") .Parameter("servisId", ServisId) .GetDataTable(refMr).ToModels <TModel01>(); //.Select(t => new { // TEKNISYENID = t.ColumnValue<decimal>("SERVISTEKNISYENID"), // SONHAREKETID = t.ColumnValue<decimal>("SONHAREKETID"), // USTBILGIID = t.ColumnValue<decimal>("USTBILGIID"), // ISEMIRID = t.ColumnValue<decimal>("ISEMIRID"), // ISEMIRISLEMID = t.ColumnValue<decimal>("ISEMIRISLEMID"), // ISEMIRISLEMISCILIKID = t.ColumnValue<decimal>("ISEMIRISLEMISCILIKID") //}); if (sonHareketler.isNotEmpty()) { teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(R.Query <RptTeknisyenHareket>(refMr).Where(h => h.ID.In(sonHareketler.select(sh => sh.SONHAREKETID))).ToList()); isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.ID.In(sonHareketler.select(sh => sh.ISEMIRID))).ToList(); hareketUstBilgiler = R.Query <HareketUstBilgi>(refMr).Where(t => t.ID.In(sonHareketler.select(sh => sh.USTBILGIID))).ToList(); } PuantajGunlugu pg = new PuantajGunlugu(); servisTeknisyenContainer.forEach(st => { teknisyenHareketContainer.GetTeknisyenHareketler(st.ID).forEach(hr => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ID == hr.THRKUSTBILGIID); ReportData reportData = new ReportData() { Teknisyen = st, Hareket = hr, IsEmir = isEmirler.first(t => t.ID == ustBilgi?.ISEMIRID), }; reportData.IsEmirIslem = reportData.IsEmir?.Islemler.first(t => t.ID == ustBilgi?.ISEMIRISLEMID); reportData.IsEmirIslemIscilik = reportData.IsEmirIslem?.Iscilikler.first(t => t.ID == ustBilgi?.ISEMIRISLEMISCILIKID); hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); }); }); CloseCustomAppPool(); return(reportDataSource); }