Я кодирование метод API, который возвращает JSON в следующем формате:Состояния, если список существует в списке
{
"Results":[
{
"Rooms":[
{
"Name":"Deluxe Room",
"Adults":2,
"Children":0
},
{
"Name":"Single Room",
"Adults":1,
"Children":0
}
],
"Options":[
{
"Name":"Room Only",
"Price":"100"
},
{
"Name":"Breakfast",
"Price":"200"
}
]
}
]
}
Я сформировать этот JSON из данных, где я получаю комбинацию из Rooms
: Каждые 2 номеров вместе имею только 1 вариант.
Я хочу проверить, есть ли комбинация комнат (имя/взрослый/дети), я хочу только добавить option
к существующим Options
.
Класс:
public class Results
{
public List<RoomList> Rooms { get; set; }
public List<Option> Options { get; set; }
}
Так что я хочу сделать, это: петля через Results
, и внутри каждого Result
я хочу, чтобы проверить, если RoomList
уже доступен в другом Result
: Если это доступно, я добавляю Option
в список: Options
. Если он новый, я добавляю новый элемент в Results
.
Я попытался сделать это:
//Fill roomOption
//Fill roomList
Results Results= new Results();
if (!Results.Exists(e => e.RoomList == roomList))
{
Results result = new Results()
{
RoomList = roomList
};
//add the option
if (result.Options == null)
result.Options = new List<Option>();
result.Options.Add(roomOption);
results.Add(result);
}
else
{
result= Results.Where(e => e.RoomList == roomList).FirstOrDefault();
//Add the option to the already existing room list
if (result.Options == null)
result.Options = new List<Option>();
result.Options.Add(roomOption);
}
Мне нужно заменить условие Results.Exists(e => e.RoomList == roomList)
с чем-то еще.
Может кто-нибудь помочь
Пытаясь понять, что вы кладете, вы сказали, каждые две комнаты вместе только один вариант, но есть список двух вариантов для двух комнат. Не могли бы вы прояснить эту часть? – Dispersia
@Dispersia Мне жаль, что я имел в виду, прежде чем я сформирую этот JSON, я получаю XML, где у каждого 2 номера есть 1 вариант. Мне нужно сделать алгоритм, который формирует JSON выше, где, если эти 2 комнаты уже существуют, я не добавляю их снова, я просто добавляю 1 вариант для них. – HelpASisterOut