public async Task<IActionResult> AddPersonStatus(string eventId, [FromBody] AddPersonStatus addPersonStatus) { if (addPersonStatus == null) return BadRequest(); PersonStatus personStatus = await _personStatusService.AddPersonStatusAsync(User.Identity.Name, eventId, addPersonStatus); if (personStatus == null) return BadRequest(); return CreatedAtRoute("GetPersonStatus", new { id = personStatus.Id }, personStatus); }
public async Task <PersonStatus> AddPersonStatusAsync(string userId, string eventId, AddPersonStatus addPersonStatus) { Person person = await _personService.GetPersonAsync(userId, addPersonStatus.PersonId); if (person == null) { return(null); } var @event = await _eventService.GetEventAsync(userId, eventId); if (@event == null) { return(null); } string personStatusId = GetNextId((await _eventService.GetEveryonesEventsAsync()).SelectMany(e => e.PersonStatuses).Select(s => s.Id)); PersonStatus personStatus = new PersonStatus { Id = personStatusId, PersonId = addPersonStatus.PersonId, Status = addPersonStatus.Status }; @event.PersonStatuses.Add(personStatus); await _apiContext.SaveChangesAsync(); return(personStatus); }