public IHttpActionResult Activate([FromUri] string id, [FromBody] VerifyLicenseRequestEx request) { try { var license = _service.Get(id); #region Validation if (license == null) { return(BadRequestWithError(ApiErrorEnum.LicenseNotFound, string.Format("No such license with the given Id {0}.", id))); } if (!license.Enabled) { return(BadRequestWithError(ApiErrorEnum.LicenseNotEnabled, string.Format("LIcense with Id {0} has not been enabled.", id))); } if (request == null || string.IsNullOrEmpty(request.ActivationKey)) { return(BadRequestWithError(ApiErrorEnum.NoActivationKey, "No activation key supplied.")); } if (!_service.Activate(license.Id, new LicenseActivateModel() { ActivationKey = request.ActivationKey, ComputerName = request.ComputerName, ServerName = request.ServerName })) { return(BadRequestWithError(ApiErrorEnum.LicenseActivationFailed, "Cannot activate license.")); } #endregion return(Ok(new ActivateLicenseMessage() { LicenseId = license.Id, ActivationKey = request.ActivationKey, ComputerName = request.ComputerName, ServerName = request.ServerName, Activated = true })); } catch (Exception ex) { _logger.Log(NLog.LogLevel.Error, ex); return(BadRequestWithError(ApiErrorEnum.GeneralError)); } }