Я пытаюсь присвоить значение выражением linq.js. Ламба expresion LINQ будет выглядеть так:Linq to linq.js перевод со значением присваивания
List<SearchSpaceRoom> roomsAvailable = Spaces.Select(s =>
{
s.Available = s.Rooms.Where(r => r.RoomTypeRanges.Any(t => t.Type.ToString() == "Theatre" && t.Min <= 101 && t.Max >= 200)).Count();
return s;
})
.ToList();
Но я не могу найти способ сделать это, чтобы работать с linq.js. Идея заключается в том, чтобы иметь что-то вроде этого:
var data = eval($('#SpaceJson').val());
var results = $.Enumerable.From(data).ToArray();
var layout = 'Theatre';
var minDelegates = '101';
var maxDelegates = '200';
results = $.Enumerable.From(results)
.Select('{$.Available = $.Rooms.Where($.RoomTypeRanges.Any($.Type == \'' + layout + '\' && $.Min <= \'' + parseInt(minDelegates) + '\' && t.Max >= \'' + parseInt(maxDelegates) + '\')).Count(); return $; }').ToArray();
Возможно ли это, кто может предложить мне лучший подход, чтобы сделать это?
Если вам нужна дополнительная информация о выражении: , то необходимо назначить количество комнат, которые соответствуют требованиям людей Min и Max для определенного макета (класс, театр) для каждого места. Основная структура, как:
- Одно пространство содержит Комнаты
- Один номер содержит различные схемы
- Макет содержит максимальное Н. мин люди
я могу предоставить всю структуру данных если вам нужно, но я считаю, что это путает больше, чем помощь.
Спасибо!
EDIT: Я добавить классы здесь
public class SearchSpaceViewModel
{
public List<SearchSpaceRoom> Spaces { get; set; }
public string RoomsJson { get; set; }
}
public class SearchSpaceRoom
{
public List<RoomItem> Rooms { get; set; }
public int Available { get; set; }
.
.
.
}
public class RoomItem
{
public List<RoomTypeRange> RoomTypeRanges { get; set; }
.
.
.
}
public class RoomTypeRange
{
public string Type { get; set; }
public int Max { get; set; }
public int Min { get; set; }
}