2013-09-02 4 views
0

Использование MVC У меня есть список из 30 заказов, в которых по умолчанию для каждого состояния установлено значение.сравнить 2 списка и изменить статус 1, если есть совпадение

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(); 

который получает список всех фактических заказов в таблице. Я хочу использовать это бронированиеQuery и где «Дата» забронировано Я хочу изменить статус списка ListOfBookings для бронирования, на этот день

Не уверен, что на самом деле логика здесь, я делаю проводник через бронированиеQuery , и присоединиться к дате создания?

+0

что тип, возвращаемый '_foodPodAvailability.GetAll()'? В основном, я бы сказал, просто проведите через результаты и измените статус дня соответственно – ppetrov

+0

Итак, какое свойство foodPodAvailability будет использоваться для сравнения? Каков его тип? –

ответ

1

, если ваш список bookingQuery содержит элементы, которые имеют свойство dayNumber я бы просто сделать:

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

также, кажется, что вы хотите увидеть, какие дни месяца забронированы, так что вы не должны получите все свои записи, только те, что были в текущем месяце.

+0

Думаю, вам нужно будет это сделать как: ListOfBookings [elm.dayNumber-1] .status = Status.booked; – stevepkr84

+0

@ user2025312 yep вы правы, исправили его – ppetrov

+0

ok, спасибо за помощь ребятам – John

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); 
} 
Смежные вопросы