Exemple #1
0
        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 }));
        }