‘IEnumerable<>

  Kiến thức lập trình

public async Task GetMemberAndBookingLineChartData()
{
var bookingData = _unitOfWork.Booking.GetAll(u => u.BookingDate >= DateTime.Now.AddDays(-30) && u.BookingDate.Date <= DateTime.Now).GroupBy(b => b.BookingDate.Date).Select(u => new
{
DateTime = u.Key,
NewBookingCount = u.Count(),
});
var customerData = _unitOfWork.User.GetAll(u => u.CreatedDAt >= DateTime.Now.AddDays(-30) && u.CreatedDAt.Date <= DateTime.Now).GroupBy(b => b.CreatedDAt.Date).Select(u => new
{
DateTime = u.Key,
NewCustomerCount = u.Count(),
});

var leftJoin = bookingData.GroupJoin(customerData, booking => booking.DateTime, customer => customer.DateTime, (booking, customer) => new
{
    booking.DateTime,
    booking.NewBookingCount,
    NewCustomerCount = customer.Select(x => x.NewCustomerCount).FirstOrDefault()
});
var rightJoin = customerData.GroupJoin(bookingData, customer => customer.DateTime, booking => booking.DateTime, (customer, booking) => new
{
    customer.DateTime,
    customer.NewCustomerCount,
    NewBookingCount = booking.Select(x => x.NewBookingCount).FirstOrDefault(),
});

//var mergedData = leftJoin.Union((rightJoin).OrderBy(x => x.DataTime).ToList());
var mergedData = rightJoin.Union(leftJoin.OrderBy(x => x.DateTime)).ToList();

var newBookingData = mergedData.Select(x => x.NewBookingCount).ToArray();
var newCustomerData = mergedData.Select(x => x.NewCustomerCount).ToArray();
var categories = mergedData.Select(x => x.DataTime.ToString("MM/dd/yyyy")).ToArray();
List<CharData> charDataList = new()
{
    new CharData
    {
        Name="New Bookings",
        Data=newBookingData
    },
    new CharData
    {
        Name="New Members",
        Data=newCustomerData
    }

};
LineChartVM lineChartVM = new()
{
    Categories = categories,
    Series = charDataList
};

return Json(lineChartVM);

}

erreur is var mergedData = rightJoin.Union(leftJoin.OrderBy(x => x.DateTime)).ToList(); not working

please give me solution

New contributor

Hassan Rachdi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

LEAVE A COMMENT