コード例 #1
0
        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));
        }