public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "Meetings/MeetingAdd")] HttpRequest req, ILogger log) { Core.Entities.Meeting meetingFromDd = null; try { var meeting = JsonConvert.DeserializeObject <Core.Entities.Meeting>(await new StreamReader(req.Body).ReadToEndAsync()); if (meeting.FollowUpMeetings.Any()) { foreach (var followUpMeeting in meeting.FollowUpMeetings) { followUpMeeting.ApplicantId = meeting.ApplicantId; followUpMeeting.Id = Guid.NewGuid().ToString(); followUpMeeting.JobApplicationId = meeting.JobApplicationId; } } if (meeting.Recruiters.Any()) { foreach (var recruiter in meeting.Recruiters) { recruiter.Id = Guid.NewGuid().ToString(); } } var meetingId = await _meetingRepository.AddItemAsync(meeting); meetingFromDd = await _meetingRepository.GetItemAsync(new Guid(meetingId)); } catch (Exception ex) { // TODO send 400 errors if it's the case, otherwise send 500. return(new StatusCodeResult(500)); // TO DO (add logger) throw ex; } return(new OkObjectResult(meetingFromDd)); }