public async Task <ActionResult <HolidayModel> > Post(int employeeId, HolidayModel model) { try { //Make sure HolidayId is not already taken var existing = await _repository.GetHolidayAsync(employeeId, model.Id); if (existing != null) { return(BadRequest("Holiday Id in Use")); } //map var Holiday = _mapper.Map <Holiday>(model); //save and return if (!await _repository.StoreNewHolidayAsync(employeeId, Holiday)) { return(BadRequest("Bad request, could not create record!")); } else { var location = _linkGenerator.GetPathByAction("Get", "Holiday", new { employeeId = Holiday.EmployeeId, Holiday.Id }); return(Created(location, _mapper.Map <HolidayModel>(Holiday))); } } catch (Exception e) { _logger.LogError(e, e.Message); return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } }