Как создать методы контроллера для создания сущностей 2 классов?
Здравствуйте! Я делаю сервис спортивных мероприятий на asp.net. Так как спортивные мероприятия могут быть как командными, так и нет, я создал два класса - Event и EventWithTeams. EventWithTeams наследуется от Event.
Но как сделать методы запросов на их создание в контроллере? Сделать два метода Create, но с разными маршрутами? Или как-то по-другому?
И в зависимости от переданных значений дальше бы выбирал что исполнять.
Модель примерно такая.
public class EventCreateModel{
public string Name {get;set;}
// проверяем если пустое то это просто Event, если нет то это командное
public string Team {get;set;}
}
[HttpPost]
[Route(nameof(Create))]
[Produces("application/json")]
public async Task<IActionResult> Create(EventCreateModel createModel)
{
Event evt;
if (createModel.Team == null)
{
evt = //создаём объект Event и копируем нужные значения из createModel
}
else
{
evt = //создаём объект EventWithTeams и копируем нужные значения из createModel
}
int id = await _eventService.Create(evt);
return Ok(new { Success = true, EventId = id });
}