using System.Collections.Generic;
public static void Main() {
List<DistpackageDto> distPck = new List<DistpackageDto>()
new DistpackageDto { FK_DistPackageTypeCode = "RG", UnitsInPackage = 22, RetailPackageType ="lg",RetailPackageNumber =101,Weight = 3.00m },
new DistpackageDto { FK_DistPackageTypeCode = "RG", UnitsInPackage = 22, RetailPackageType ="lg",RetailPackageNumber =101,Weight = 2.00m }
.GroupBy(x => new { x.FK_DistPackageTypeCode, x.RetailPackageNumber, x.RetailPackageType, x.UnitsInPackage })
.Select((x) => new DistpackageDto
FK_DistPackageTypeCode = x.Key.FK_DistPackageTypeCode,
RetailPackageNumber = x.Key.RetailPackageNumber,
RetailPackageType = x.Key.RetailPackageType,
UnitsInPackage = x.Key.UnitsInPackage,
Weight = x.Max(k => k.Weight),
foreach(var d in distpack)
Console.WriteLine(d.ItemCode + " " + d.Weight);
public class DistpackageDto
public string FK_DistPackageTypeCode { get; set; }
public int UnitsInPackage { get; set; }
public string RetailPackageType { get; set; }
public Int16 RetailPackageNumber { get; set; }
public decimal Weight { get; set; }
public int ItemCode {get;set;}