使用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并预订了'Date',我希望将ListOfBookings的状态更改为当天预订
不确定这里的实际逻辑,我是否通过bookingQuery做了一个foreach,并加入了日期的地方?
答案 0 :(得分:1)
如果您的bookingQuery列表包含具有dayNumber
属性的元素,我只会这样做:
foreach(var elm in bookingQuery)
ListOfBookings[elm.dayNumber - 1].status = Status.booked;
您似乎也希望查看本月的哪几天被预订,因此您不应该获取所有记录,只能记录当月的记录。
答案 1 :(得分: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);
}