0

使用 MVC,我有一个包含 30 个预订的列表,其中每个状态的默认值都设置为可用。

public class Day
{
  public int dayNumber;
  public Status status;
}

public enum Status
{
   available,
   booked,
   closed
}

List<Day> ListOfBookings = new List<Day>();
for (int i = 1; i <= 30; i ++) 
{
  Day _day = new Day();
  _day.dayNumber = i;
  _day.status = Status.available;
  ListOfBookings.Add(_day);
}

我想将它们与我的查询进行比较:

var bookingQuery = _foodPodAvailability.GetAll();

它获取表中所有实际预订的列表。我想使用这个 bookingQuery 并在哪里预订了“日期” 我想将 ListOfBookings 的状态更改为预订,那一天

不确定这里的实际逻辑,我是否通过 bookingQuery 进行 foreach,并加入日期?

4

2 回答 2

1

如果您的 bookingQuery 列表包含具有dayNumber属性的元素,我会这样做:

foreach(var elm in bookingQuery)
    ListOfBookings[elm.dayNumber - 1].status = Status.booked;

此外,您似乎想查看该月的哪些天被预订,因此您不应该获取所有记录,而只获取当前月份的记录。

于 2013-09-02T15:33:32.150 回答
1

作为替代方案,您也可以这样做

var bookingQuery = _foodPodAvailability.GetAll();

List<Day> ListOfBookings = new List<Day>();
for (int i = 1; i <= 30; i ++) 
{
  Day _day = new Day();
  _day.dayNumber = i;
  _day.status = bookingQuery.Where(w=>w.dayNumber == i).Any()?Status.booked:Status.available;
  ListOfBookings.Add(_day);
}
于 2013-09-02T16:15:49.663 回答