public async Task <IActionResult> PostEvent([FromBody] EventCreationDto eventDto) { if (!ModelState.IsValid) { return(BadRequest(new { message = ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage) })); } var createEvent = _mapper.Map <Event>(eventDto); try { var createdEvent = await _collaborationService.Create(createEvent); return(Ok(createdEvent)); } catch (ProjectNotFound) { return(NotFound(new MessageObj("Project not found"))); } catch (EnvironmentNotSet) { throw; } catch (Exception e) { return(BadRequest(new MessageObj(e.Message))); } }
public async Task <ActionResult> AddEventToPerson(Guid id, [FromBody] EventCreationDto eventCreation) { var person = await _ctx.Persons.Where(p => p.Id == id).Include(d => d.Details).SingleOrDefaultAsync(); if (person == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest()); } var newEvent = _mapper.Map <Event>(eventCreation); //TODO edit this after db migration(relational fix) newEvent.Details = person.Details; await _ctx.Events.AddAsync(newEvent); await _ctx.SaveChangesAsync(); return(Ok(new { Id = newEvent.Id })); }