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));
            }
        }