🌈 .NET MVC
DataTable with "group by", "where"
James Wetzel
2024. 7. 19. 16:20
728x90
반응형
group by
// group by
var purchaseOrders = from row in lorealPurchaseOrderDataTable.AsEnumerable()
group row by row.Field<long>("lpo_seq_no") into grp
select new
{
lpo_seq_no = grp.Max(r => r.Field<long>("lpo_seq_no")),
purchase_order_title = grp.Max(r => r.Field<string>("purchase_order_title")),
reg_dt = grp.Max(r => r.Field<DateTime>("reg_dt"))
};
foreach (var purchaseOrder in purchaseOrders)
{
lorealPurchaseOrders.Add(new LorealPurchaseOrder() {
LpoSeqNo = purchaseOrder.lpo_seq_no,
PurchaseOrderTitle = purchaseOrder.purchase_order_title,
RegDate = string.Format("{0}", purchaseOrder.reg_dt)
});
}
Where
// Where
var purchaseOrderSkus = from row in lorealPurchaseOrderDataTable.AsEnumerable()
where row.Field<long>("lpo_seq_no") == lorealPurchaseOrder.LpoSeqNo
select new
{
lpos_seq_no = row.Field<long>("lpos_seq_no"),
lps_seq_no = row.Field<long>("lps_seq_no"),
sku_no = row.Field<string>("sku_no"),
sku_name = row.Field<string>("sku_name"),
sku_option_name = row.Field<string>("sku_option_name"),
vendor_item_code = row.Field<string>("vendor_item_code"),
supply_price = row.Field<decimal>("supply_price"),
vat_price = row.Field<decimal>("vat_price"),
total_price = row.Field<decimal>("total_price"),
};
List<LorealPurchaseOrderSku> lorealPurchaseOrderSku = new List<LorealPurchaseOrderSku>();
foreach (var purchaseOrderSku in purchaseOrderSkus)
{
lorealPurchaseOrderSku.Add(new LorealPurchaseOrderSku() {
LposSeqNo = purchaseOrderSku.lpos_seq_no,
LpsSeqNo = purchaseOrderSku.lps_seq_no,
SkuNo = purchaseOrderSku.sku_no,
SkuName = purchaseOrderSku.sku_name,
SkuOptionName = purchaseOrderSku.sku_option_name,
VendorItemCode = purchaseOrderSku.vendor_item_code,
SupplyPrice = purchaseOrderSku.supply_price,
VatPrice = purchaseOrderSku.vat_price,
TotalPrice = purchaseOrderSku.total_price
});
}
728x90
반응형