public virtual ActionResult <T> Post([FromBody] T value) { try { SetCreatedAuditFields(value); return(Ok(_service.Add(value))); } catch (BadHttpRequestException ex) { return(BadRequest(ex)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }