私はこの単純なクラスを持っています:
public class JDEItemLotAvailability
{
public string Code { get; set; }
public int ShortCode { get; set; }
public string Description { get; set; }
public string PrimaryUnitCode { get; set; }
public string BranchPlant { get; set; }
public string Location { get; set; }
public string Lot { get; set; }
public int AvailableQuantity { get; set; }
}
私の BLL のこの DAL メソッドは、それらのリストを返します。
var returnedLotList = _JDE8dal.GetLotAvailabilityAsList(_lot);
返されたリストで次のことを実行したいのですが、最も「エレガントな」LINQ の方法で実行したいと考えています。
リストの中に特定の条件に一致するレコードがあるかどうかを確認したい。私は次のようなことを考えました:
var query =
returnedLotList.Where(l => l.AvailableQuantity != 0 && l.BranchPlant == _mcu && l.Location == _locn)
.OrderByDescending(l => l.AvailableQuantity);
しかし、上記のクエリが結果を返さない場合は、残りのリストエントリの最初のものを取得したいと言いたいです。
どうやってやるの?