sharepoint リストでマネージャーの値を取得しようとしています。マネージャーの値が同じ場合、すべての金額を追加して、マネージャー名と合計を出力しようとしています。
SharePoint リストのエントリは次のとおりです。
Manager Amount
1 1000
2 2000
3 3000
4 500
1 1500
2 2500
次に、この出力を含む電子メールを送信し、上位 3 つの金額のみを返す必要があります。
Manager Amount
2 4500
3 3000
1 2500
ここに私のCAMLクエリがあります
camlQuery.ViewXml = " <Query><Where><And><IsNotNull><FieldRef Name='Manager' /></IsNotNull><IsNotNull><FieldRef Name='Amount' /></IsNotNull></And><OrderBy><FieldRef Name='Amount' Ascending='False' /></OrderBy></Where></Query> ";
そして、ここに私のコードがあります
double iSum = 0;
foreach (ListItem oListItem in collListItem)
{
FieldUserValue man = (FieldUserValue)oListItem["Manager"];
if(oListItem["Amount"].ToString() == null)
continue;
iSum += Convert.ToDouble(oListItem["Amount"].ToString());
Console.WriteLine("\nManager Name: " + man.LookupValue + " Amount: " + iSum.ToString());
message += "<tr>"
+ " <td class='pdetails'> " + man.LookupValue + "</td> "
+ " <td class='pdetails'> " + iSum.ToString() + "</td></tr> ";
}
caml クエリと foreach ループを修正し、マネージャーごとの金額の合計である期待される出力を取得する方法を教えてください。よろしくお願いします。