|
|
@ -6,11 +6,15 @@ using Microsoft.VisualBasic.CompilerServices; |
|
|
|
|
|
|
|
namespace BuecherwurmAPI.Models |
|
|
|
{ |
|
|
|
internal class Katalog : IBookRepo |
|
|
|
public interface ICatalogue |
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
internal class KatalogModel : ICatalogue |
|
|
|
{ |
|
|
|
private SqliteConnection _dbConnection; |
|
|
|
|
|
|
|
public Katalog() |
|
|
|
public KatalogModel() |
|
|
|
{ |
|
|
|
var connectionBuilder = new SqliteConnectionStringBuilder {DataSource = "LongWormMemory.db"}; |
|
|
|
_dbConnection = new SqliteConnection(connectionBuilder.ConnectionString); |
|
|
@ -84,22 +88,21 @@ namespace BuecherwurmAPI.Models |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public long AddBook (Book book) |
|
|
|
public long AddBook (BookPost book) |
|
|
|
{ |
|
|
|
using (var command = _dbConnection.CreateCommand()) |
|
|
|
{ |
|
|
|
// funktioniert das so?
|
|
|
|
//muss ProduktId übergeben werden?
|
|
|
|
command.CommandText = @"INSERT INTO Books (Name, Author, Country, Link, Language, Pages, Year, ProductId, Category, ImageLink, LendTime, LendType) VALUES (@Name, @Author, @Country, @Link, @Language, @Pages, @Year, @ProductId, @Category, @ImageLink, @LendTime, @LendType )"; |
|
|
|
command.CommandText = @"INSERT INTO Books (Name, Author, Country, Link, Language, Pages, Year, ProductId, Category, ImageLink, LendTime, LendType) VALUES (@Name, @Author, @Country, @Link, @Language, @Pages, @Year, NULL, @Category, @ImageLink, @LendTime, @LendType )"; |
|
|
|
|
|
|
|
command.Parameters.Add(new SqliteParameter("@Name", book.Name)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Author", book.Author)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Contry", book.Country)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Country", book.Country)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Link", book.Link)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Language", book.Language)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Pages", book.Pages)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Year", book.Year)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@ProductId", book.ProductId)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Category", book.Category)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@ImageLink", book.ImageLink)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@LendTime", book.LendTime)); |
|
|
@ -122,17 +125,16 @@ namespace BuecherwurmAPI.Models |
|
|
|
using (var command = _dbConnection.CreateCommand()) |
|
|
|
{ |
|
|
|
// funktioniert das so?
|
|
|
|
command.Parameters.Add(new SqliteParameter("@id", SqliteType.Integer)).Value = id; |
|
|
|
command.CommandText = @"INSERT INTO Books (Name, Author, Country, Link, Language, Pages, Year, ProductId, Category, ImageLink, LendTime, LendType) VALUES (@Name, @Author, @Country, @Link, @Language, @Pages, @Year, @ProductId, @Category, @ImageLink, @LendTime, @LendType )"; |
|
|
|
command.Parameters.Add(new SqliteParameter("@id", id)); |
|
|
|
command.CommandText = @"UPDATE Books SET (Name, Author, Country, Link, Language, Pages, Year, Category, ImageLink, LendTime, LendType) = (@Name, @Author, @Country, @Link, @Language, @Pages, @Year, @Category, @ImageLink, @LendTime, @LendType ) WHERE ProductId = @id"; |
|
|
|
|
|
|
|
command.Parameters.Add(new SqliteParameter("@Name", book.Name)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Author", book.Author)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Contry", book.Country)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Country", book.Country)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Link", book.Link)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Language", book.Language)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Pages", book.Pages)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Year", book.Year)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@ProductId", book.ProductId)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@Category", book.Category)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@ImageLink", book.ImageLink)); |
|
|
|
command.Parameters.Add(new SqliteParameter("@LendTime", book.LendTime)); |
|
|
@ -140,13 +142,7 @@ namespace BuecherwurmAPI.Models |
|
|
|
|
|
|
|
var success = command.ExecuteNonQuery(); |
|
|
|
|
|
|
|
if (success == 1) |
|
|
|
{ |
|
|
|
command.CommandText = @"SELECT last_insert_rowid()"; |
|
|
|
return (long)command.ExecuteScalar(); |
|
|
|
} |
|
|
|
|
|
|
|
return -1; |
|
|
|
return id; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|