0
我想分配一个值与linq.js expresion。 LINQ的兰巴expresion会是这样的: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();
这是可能的,任何人都可以建议我做这件事的最佳方法?
如果您需要更多关于表达式的信息: 它将为每个空间分配满足最小和最大人员要求的房间数量,以用于特定布局(教室,剧院)。 基本结构是这样的:
- 一个空间包含客房
- 一室包含不同的布局
- 布局包含了最大的分人
我可以提供所有的数据结构如果你需要,但我相信这会比混乱更困难。
谢谢!
编辑:我添加了类此
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; }
}