Я создаю сайт проката автомобилей в MVC 5 и пытаюсь показать вид со всеми сделанными оговорками.В другом виде я хочу показать оговорки, сделанные только на сегодня.
У меня есть несколько методов в контроллере для получения нужных мне данных, я просто не знаю, как передать это на мой взгляд.
Методы для сбора всех данных:
public ActionResult AlleReservations)
{
ReservationEmployeeViewModel cvm = new ReservationEmployeeViewModel()
{
Reservations = db.Reservations.ToList()
};
cvm.Cars = GetRelevantCars(cvm.Reservations);
cvm.Customers = GetRelevantCustomers(cvm.Reservations);
return View(cvm);
}
public ActionResult ReservationsToday()
{
ReservationEmployeeViewModel cvm = new ReservationEmployeeViewModel()
{
Reservations = GetReservationsToday()
};
cvm.Cars = GetRelevantCars(cvm.Reservations);
cvm.Customers = GetRelevantCustomers(cvm.Reservations
return View(cvm);
}
Способ получения клиентов, соответствующих сделанным ими бронированиям:
private IEnumerable<ApplicationUser> GetRelevanteCustomers(IEnumerable<Reservation> reservations)
{
List<int> relevantInvoiceIds = new List<int>();
List<ApplicationUser> customers = new List<ApplicationUser>();
List<ApplicationUser> allCustomers = db.Users.ToList().Where(x => UserManager.IsInRole(x.Id, "Customers")).ToList();
IEnumerable<Invoice> invoices = db.Invoices.ToList();
foreach (Reservation reservation in Reservations)
{
relevanteinvoiceIds.Add(reservation.Invoicenumber);
}
foreach (Invoice invoice in invoices)
{
if (relevanteInvoiceIds.Contains(invoice.Id))
customers.Add(alleCustomers.Find(x => x.Id == invoice.CustomerId));
}
return customers;
}
Метод получения автомобилей, взятых в аренду клиентами:
private IEnumerable<Auto> GetRelevantCars(IEnumerable<Reservations> reservations)
{
List<Car> relevantCars = new List<Car>();
List<Car> allCars = db.Cars.ToList();
foreach (Reservation reservation in reservations)
{
relevantCars.Add(allCars.Find(x => x.Id == reservation.CarId));
}
return relevantCars;
}
Чтобы получитьСегодняшние бронирования из базы данных:
private IEnumerable<Reservation> GetReservationsToday()
{
return db.Reservations.Where(x => x.Startingdate.Day == DateTime.Now.Day).ToList();
}
Я надеюсь, что кто-нибудь подскажет мне, как мне это передать своим взглядам.