У меня есть список гостей, который хранится в моей базе данных. После создания вечеринки я хочу, чтобы пользователь мог приглашать гостей на вечеринку.
Для этого у меня есть две таблицы с отношением «один ко многим». В первой таблице (гости) у меня есть информация о гостях, а во второй таблице (PartyGests) есть еще два столбца для ссылки на другие данные.
После того, как пользователь создаст вечеринку, появится список появятся гости, в которых пользователь сможет выбрать, кого он хочет пригласить, установив флажки. При нажатии на кнопку «Отправить» все выбранные идентификаторы гостей передаются контроллеру.
Вот мое представление.
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Operation</th>
</tr>
</thead>
<tbody>
@foreach (var item in ViewBag.Guests)
{
<tr>
<td>@item.FirstName</td>
<td>@item.LastName</td>
<td><input type="checkbox" name="guests" value="@item.Id"></td>
</tr>
}
</tbody>
</table>
<input type="hidden" value="@Model.Id" name="eventId"/>
<button type="submit" class="btn btn-primary">Invite</button>
</form>
Вот мой контроллер:
[HttpGet]
public IActionResult Invite(int id)
{
ViewBag.Guests= _guestService.GetGuests(); //Display list of guests for invitation
ViewBag.Id = id;
return View(_eventService.GetEvent(id)); // Return event to get the event information o the Invite page
}
[HttpPost]
public IActionResult Invite(int eventId, string[] guests)
{
foreach (var item in guests)
{
var newGuest = new EventGuest
{
EventId = eventId,
GuestId = int.Parse(item)
};
// LINQ -- To avoid invite a guest more than once
if (_eventService.IsInvited(newGuest.GuestId, eventId)) // Does not invite
{
return RedirectToAction("Error", "Something"); // Give an error message
}
else
{
_eventService.InviteGuest(newGuest);
_eventService.SaveChanges();
}
}
return View("Index", "Home");
}
Теперь, проблема в том, что я хочу, чтобы флажки приглашенных гостей были отмечены, когда они уже приглашены. Другими словами, если руководитель группы хочет добавить больше, он сможет распознать приглашенных гостей, посмотрев на отмеченные флажки.
Я должен отметить, что моя база данных получает действительные данные в своих столбцах с помощью этой операции
Я не знаком с JavaScript, поэтому, пожалуйста, помогите мне с HTML.
Спасибо