public async Task <IHttpActionResult> GetKhuyenMaiCombo() { string unitCode = _serviceCustomer.GetCurrentUnitCode(); var data = new NvKhuyenMaiComboVm.ListCombo(); var result = new TransferObj <NvKhuyenMaiComboVm.ListCombo>(); try { var returnData = ProcedureCollection.GetKhuyenMaiCombo(unitCode); if (returnData != null && returnData.Count > 0) { foreach (var record in returnData) { data.ListComboLeft.Add(record); data.ListComboRight.Add(record); } var groupByComboLeft = data.ListComboLeft.GroupBy(x => new { x.MaVatTuLeft, x.MaChuongTrinh, x.GiaTriKhuyenMai, x.SoLuongKhuyenMai }).Select(group => new NvKhuyenMaiComboVm.ListCombo() { MaVatTuLeft = group.Key.MaVatTuLeft, MaChuongTrinh = group.Key.MaChuongTrinh, GiaTriKhuyenMai = group.Key.GiaTriKhuyenMai, SoLuongKhuyenMai = group.Key.SoLuongKhuyenMai, }).ToList(); var groupByComboRight = data.ListComboRight.GroupBy(x => new { x.MaVatTuRight, x.MaChuongTrinh, x.GiaTriKhuyenMai, x.SoLuongKhuyenMai }).Select(group => new NvKhuyenMaiComboVm.ListCombo() { MaVatTuRight = group.Key.MaVatTuRight, MaChuongTrinh = group.Key.MaChuongTrinh, GiaTriKhuyenMai = group.Key.GiaTriKhuyenMai, SoLuongKhuyenMai = group.Key.SoLuongKhuyenMai, }).ToList(); if (groupByComboLeft.Count > 0 || groupByComboRight.Count > 0) { result.Data = new NvKhuyenMaiComboVm.ListCombo(); result.Data.ListComboLeft = groupByComboLeft; result.Data.ListComboRight = groupByComboRight; } result.Status = true; } else { result.Data = null; result.Status = false; } } catch (Exception ex) { result.Data = null; result.Status = false; } return(Ok(result)); }