public async Task <ActionResult> Create(Lead Lead) { try { if (ModelState.IsValid) { _logger.LogInformation("Registering Lead named {0}", Lead.FirstName); await _dataAccessProvider.AddLeadRecord(Lead); _logger.LogInformation("Lead named {0} registered succesfully", Lead.FirstName); return(Ok()); } else { return(BadRequest()); } } catch (Exception ex) { _logger.LogError($"Something went wrong: {ex}"); return(CreatedAtAction(nameof(Create), ex)); } }