Ik heb (voor jullie waarschijnlijk) een simpele vraag waar ik zelf niet uit kom. Ik heb geen opleiding in C# of LinQ, maar met google kom ik meestal erg ver. Ik werk op een laboratorium en ben bezig met een verbeterpunt.
Dagelijks worden bv 100 orders ingeboekt met allerlei testen die klanten aanvragen. Hiervan heb ik een Report gemaakt voor mijn collega's waarin ze kolommen zien met bepaalde informatie, maar wat ik hierin ontzettend mis is overzicht door de Group by functie.
Hij vind bijvoorbeeld 6x ( t.TestType.TestTypeId==370 ) de test "TAFEL" met TestTypeId 370. In mijn Report laat die dit dus 6x zien, maar ik wil in een kolom laten zien:
TestNaam. | Aantal
TAFEL | 6
Wat ik nu heb:
---boven de <for-each-linq> staan de kolommen en styles geschreven
<db:for-each-linq>
<db:statement><![CDATA[
from t in Tests where
t.Status != "Complete" && (t.Sample.Order.Received==true)
&& (t.Requested!=true)
orderby t.Sample.Parent.DateResultsRequired descending
let PlatesCreated = (from ttask in t.TestTasks where ttask.Type == "CreatePlates" && ttask.Status == "Complete" select ttask).Count()
select new
{
SampleId = t.Sample.Parent.SampleId,
SampleName = t.Sample.Name,
Client = t.Sample.Order.Client,
Received = t.Sample.Order.ReceivedOn,
Product = t.Sample.Parent.Product,
Analyse = t.Name,
Date = t.Sample.Parent.DateResultsRequired,
Date2 = t.Sample.DateResultsRequired,
PlatesCreated
}
]]></db:statement>
<db:if test="PlatesCreated==0">
-----hier heb ik geschreven waar de gevonden data geplaatst moet worden.
Dagelijks worden bv 100 orders ingeboekt met allerlei testen die klanten aanvragen. Hiervan heb ik een Report gemaakt voor mijn collega's waarin ze kolommen zien met bepaalde informatie, maar wat ik hierin ontzettend mis is overzicht door de Group by functie.
Hij vind bijvoorbeeld 6x ( t.TestType.TestTypeId==370 ) de test "TAFEL" met TestTypeId 370. In mijn Report laat die dit dus 6x zien, maar ik wil in een kolom laten zien:
TestNaam. | Aantal
TAFEL | 6
Wat ik nu heb:
---boven de <for-each-linq> staan de kolommen en styles geschreven
<db:for-each-linq>
<db:statement><![CDATA[
from t in Tests where
t.Status != "Complete" && (t.Sample.Order.Received==true)
&& (t.Requested!=true)
orderby t.Sample.Parent.DateResultsRequired descending
let PlatesCreated = (from ttask in t.TestTasks where ttask.Type == "CreatePlates" && ttask.Status == "Complete" select ttask).Count()
select new
{
SampleId = t.Sample.Parent.SampleId,
SampleName = t.Sample.Name,
Client = t.Sample.Order.Client,
Received = t.Sample.Order.ReceivedOn,
Product = t.Sample.Parent.Product,
Analyse = t.Name,
Date = t.Sample.Parent.DateResultsRequired,
Date2 = t.Sample.DateResultsRequired,
PlatesCreated
}
]]></db:statement>
<db:if test="PlatesCreated==0">
-----hier heb ik geschreven waar de gevonden data geplaatst moet worden.