using System.Collections.Generic;
public string SellerProductId;
public string TrackingNumber;
public static void Main()
List<tracking> tracking = new List<tracking>()
new tracking { SellerProductId = "1", TrackingNumber = "TrackingNumber1", Qte = 1,QteExp = 1 },
new tracking { SellerProductId = "1", TrackingNumber = "", Qte = 1,QteExp = 0 },
new tracking { SellerProductId = "2", TrackingNumber = "TrackingNumber1", Qte = 1,QteExp = 1 }
var Grp1 = tracking.GroupBy(si => new {si.SellerProductId,si.TrackingNumber}).Select(s => new {s.Key.SellerProductId,s.Key.TrackingNumber,Qte = s.Sum(v => v.Qte),QteExp = s.Sum(v => v.QteExp), Count = s.Count()}).ToList();
Console.WriteLine(JsonSerializer.Serialize(Grp1));
Console.WriteLine("-----");
foreach(var item in Grp1)
Console.WriteLine(item.SellerProductId + " " + string.Join(";",item.TrackingNumber) + " " + item.Count.ToString() + " " );
Console.WriteLine("-----");
var Grp2 = Grp1.GroupBy(g => g.SellerProductId).Where(w => w.Count()>1).Select(s => new { SellerProductId= s.Key, Nb = s.Count()});
foreach(var item in Grp2)
Console.WriteLine(item.SellerProductId + " Ligne diff : " + item.Nb.ToString() + " " );
Console.WriteLine("Pas de SPLIT");