Я пытаюсь получить представление, которое показывает все рабочие задания в штате Нью-Джерси.Это моя модель заказа на работу:
public class WorkOrder
{
public int UserId { get; set; }
public string LocationId { get; set; }
public string Reason { get; set; }
public bool IsActive { get; set; } = true;
public DateTime Date { get; set; } = DateTime.Now;
public string StateId { get; set; }
}
В моем виде, где я пытаюсь передать данные, которые у меня есть:
@model IEnumerable<WorkOrder>
@{
ViewData["Title"] = "Work Orders";
}
<div class="by-location">
<h1>By Location</h1>
<ul>
<li> @Html.ActionLink("Delaware", "Delaware",
"HomeController")</li>
<li>
@Html.ActionLink("New Jersey", "New Jersey",
"HomeController")
</li>
<li>
@Html.ActionLink("Pennsylvania", "Pennsylvania",
"HomeController")
</li>
</ul>
</div>
<div class="container">
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.UserId)
</th>
<th>
@Html.DisplayNameFor(model => model.LocationId)
</th>
<th>
@Html.DisplayNameFor(model => model.Reason)
</th>
<th>
@Html.DisplayNameFor(model => model.IsActive)
</th>
<th>
@Html.DisplayNameFor(model => model.Date)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserId)
</td>
<td>
@Html.DisplayFor(modelItem => item.LocationId)
</td>
<td>
@Html.DisplayFor(modelItem => item.Reason)
</td>
<td>
@Html.DisplayFor(modelItem => item.IsActive)
</td>
<td>
@Html.DisplayFor(modelItem => item.Date)
</td>
<td>
@Html.DisplayFor(modelItem => item.StateId)
</td>
</tr>
}
</table>
</div>
Я только пытаюсь отобразить данные, где местоположениеравно «NJ», поэтому у меня в контроллере есть метод, который я вызываю в контроллере, который должен возвращать рабочие задания вида «Нью-Джерси», но у всех есть логика для получения рабочих заказов, где состояние = что-то.
public IActionResult Nj(string stateId)
{
var njWorkOrders = GetWorkOrders()
.Where(x => x.StateId == stateId).ToList();
return View(njWorkOrders);
}
Вот моя функция GetWorkOrders:
public List<WorkOrder> GetWorkOrders()
{
List<WorkOrder> workOrders = new List<WorkOrder>();
workOrders.Add(new WorkOrder
{
UserId = 1,
LocationId ="Philadelphia",
Date = DateTime.Now,
Reason = "Lights",
IsActive = true,
StateId = "PA"
});
workOrders.Add(new WorkOrder
{
UserId = 2,
LocationId = "Camden",
Date = DateTime.MinValue,
Reason = "Plumbing",
IsActive = true,
StateId = "NJ"
});
workOrders.Add(new WorkOrder
{
UserId = 3,
LocationId = "Burlington",
Date = DateTime.Now,
Reason = "Water",
IsActive = false,
StateId = "NJ"
});
workOrders.Add(new WorkOrder
{
UserId = 4,
LocationId ="Wilmington",
Date = DateTime.MaxValue,
Reason = "Lights",
IsActive = true,
StateId = "DE"
});
// return the work orders to be used by your view methods
return workOrders;
}