public IActionResult Get(Guid reviewId, [FromBody] NullableGuidDeserializer nullableUserId = null) { Guid?userId = nullableUserId.Property; Review record; try { record = db.FindRecordById <Review>(REVIEW_TABLE, reviewId); } catch (Exception e) { Failure failure = FailureFact.Default(e, userId); db.InsertRecordAsync(FAILURE_TABLE, failure); return(StatusCode(500, failure)); } if (record == null) { Failure failure = FailureFact.IdNotFound(null, userId, reviewId); db.InsertRecordAsync(FAILURE_TABLE, failure); return(NotFound(failure)); } Success success = SuccessFact.ReviewRetrieved(reviewId, userId); db.InsertRecordAsync(SUCCESS_TABLE, success); return(new OkObjectResult(record)); }