public dynamic DetailTangQua(string id) { dynamic result = new ExpandoObject(); try { SessionManager.DoWork(ss => { var idCusGift = new Guid(id); var lstUser = ss.Query <User>().ToList(); result = ss.Query <CustomerGift>().Where(s => s.ParentId == idCusGift).ToList().GroupBy(p => new { PromotionId = p.Promotion.Id, p.ParentId, p.CusId, p.PhanHe, p.Acctno, p.TENLOAIHINH, p.CusName, p.TERM, p.TERMCD, p.BALANCE, p.CCYCD, p.FRDATE, p.TODATE, p.NgayDuyet, p.NguoiDuyet, p.Status, p.CREATEDBy, p.CREATEDDATE }).Select(p => new { Id = p.Key.ParentId, p.Key.CusId, p.Key.CusName, p.Key.Acctno, p.Key.TERM, p.Key.TERMCD, p.Key.TENLOAIHINH, p.Key.BALANCE, p.Key.PhanHe, p.Key.CCYCD, p.Key.FRDATE, p.Key.TODATE, PromotionId = p.Key.PromotionId, PromotionName = ss.Get <Promotion>(p.Key.PromotionId)?.Name, PromotionCode = ss.Get <Promotion>(p.Key.PromotionId)?.Code, GiftKH = p.ToList().Select(s => new { GiftCode = s.Gift.Code, GiftName = s.Gift.Name, GiftId = s.Gift.Id, UnitName = s.Gift.Unit.Name, Price = s.Gift.Price, TotalPrice = (s.Gift.Price * s.NumGift), NumGift = s.NumGift, }).ToList(), CreatedDate = p.Key.CREATEDDATE != null ? p.Key.CREATEDDATE.Value.ToString("yyyy-MM-dd hh:mm") : "", CreatedBy = ContextProvider.GetFullName(lstUser, p.Key.CREATEDBy), DonViTang = ContextProvider.GetDonViTang(lstUser, p.Key.CREATEDBy), NgayDuyet = p.Key.NgayDuyet != null ? p.Key.NgayDuyet.Value.ToString("yyyy-MM-dd hh:mm") : "", NguoiDuyet = ContextProvider.GetFullName(lstUser, p.Key.NguoiDuyet), p.Key.Status }).FirstOrDefault(); }); } catch (Exception ex) { result = ex; } return(result); }