У меня есть список отелей, у каждого отеля есть Id, возможно дублирование одного и того же отеля (с тем же идентификатором), но с разными номерами. Я хочу объединить дубликаты элементов в один с LINQ, заменив все атрибуты, кроме комнат, которые необходимо добавить в другой список. Я пытаюсь достичь его с помощью foreach:
private List<Domain.CheckRateDomain.Hotels> BuildResponseResult(List<Hotels> hotelsList)
{
var listResult = new List<Hotels>();
var hotelListAux = new List<Hotels>(hotelsList);
foreach (var hotel in hotelsList)
{
hotelListAux.Remove(hotel);
foreach (var hotelAux in hotelListAux)
{
if (hotel.Id == hotelAux.Id)
{
hotel.Rooms.AddRange(hotelAux.Rooms);
listResult.Add(hotel);
}
else
{
listResult.Add(hotel);
listResult.Add(hotelAux);
}
}
}
return hotelsList;
}