public async Task <ActionResult> CreateWhitelistItem([FromBody] BlacklistWhitelist createWhitelistItem) { try { Log.Information($"Executed CreateWhitelistItem({createWhitelistItem})."); var foundBlackListItem = this.whitelistRepository.GetWhitelistItemByIdAndType(createWhitelistItem.Id, createWhitelistItem.Type); if (foundBlackListItem != null) { return(this.Conflict(createWhitelistItem)); } var inserted = await this.whitelistRepository.InsertWhitelistItem(createWhitelistItem); if (inserted) { return(this.Ok(createWhitelistItem)); } return(this.BadRequest(createWhitelistItem)); } catch (Exception ex) { Log.Fatal(ex.Message, ex); return(this.InternalServerError(ex)); } }
/// <inheritdoc cref="IWhitelistRepository" /> /// <summary> /// Inserts a <see cref="BlacklistWhitelist" /> item to the database. /// </summary> /// <param name="whitelistItem">The <see cref="BlacklistWhitelist" /> item to insert.</param> /// <returns>A <see cref="Task" /> representing any asynchronous operation.</returns> /// <seealso cref="IWhitelistRepository" /> public async Task <bool> InsertWhitelistItem(BlacklistWhitelist whitelistItem) { await using var connection = new NpgsqlConnection(this.connectionSettings.ToConnectionString()); await connection.OpenAsync(); var result = await connection.ExecuteAsync(InsertStatements.InsertWhitelistItem, whitelistItem); return(result == 1); }