public static List <FirmwareInfo> GetReleaseNewest(RELEASE_TYPES reltype) { // get max version for each mavtype return(GetRelease(reltype).GroupBy(b => b.MavType).Select(a => a.Where(b => a.Key == b.MavType && b.MavFirmwareVersion == a.Max(c => c.MavFirmwareVersion)) .FirstOrDefault()).ToList()); }
public static List <FirmwareInfo> GetRelease(RELEASE_TYPES reltype) { GetList(); var ans = Manifest.Firmware.Where(a => a.MavFirmwareVersionType == reltype.ToString()); ans = ans.GroupBy(b => b.MavType) .SelectMany(a => a.Where(b => a.Key == b.MavType && b.MavFirmwareVersion == a.Max(c => c.MavFirmwareVersion)).OrderBy(b => b.Format)); /* * ans = ans.GroupBy(b => b.MavType).Select(a => * a.Where(b => a.Key == b.MavType && b.MavFirmwareVersion == a.Max(c => c.MavFirmwareVersion)) * .FirstOrDefault()); */ return(ans.ToList()); }