Compare commits
20 commits
Author | SHA1 | Date | |
---|---|---|---|
e7b3d2d742 | |||
nek0 | a4b6d41a25 | ||
nek0 | 36cefe06ac | ||
nek0 | 0fc3569322 | ||
nek0 | f04f7f4892 | ||
1ec245c6e2 | |||
nek0 | f94d8b2c65 | ||
nek0 | ea81721be3 | ||
nek0 | 4eaabe584b | ||
4a6bb9313b | |||
d545f31f65 | |||
bd4f034d7b | |||
8d81ab4843 | |||
bb3f2f3fd0 | |||
74ecc0e285 | |||
b1f62f89e7 | |||
3e369eff83 | |||
942a7d321b | |||
cbfba6b578 | |||
7c62650341 |
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,6 +11,8 @@
|
||||||
*.userosscache
|
*.userosscache
|
||||||
*.sln.docstates
|
*.sln.docstates
|
||||||
|
|
||||||
|
*.db
|
||||||
|
|
||||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
*.userprefs
|
*.userprefs
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace BuecherwurmAPI.Controllers
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public ActionResult<LendPost> LendsPost(LendPost lend)
|
public ActionResult<LendPost> LendsPost(LendPost lend)
|
||||||
{
|
{
|
||||||
var newId = _repository.insertLendReturningId(lend);
|
var newId = _repository.AddLend(lend);
|
||||||
if (newId > 0)
|
if (newId > 0)
|
||||||
{
|
{
|
||||||
var item = new Lend
|
var item = new Lend
|
||||||
|
@ -68,11 +68,12 @@ namespace BuecherwurmAPI.Controllers
|
||||||
return Ok(lend);
|
return Ok(lend);
|
||||||
}
|
}
|
||||||
|
|
||||||
//PATCH api/leihvorgang/{id}
|
//PUT api/leihvorgang/{id}
|
||||||
[HttpPatch("{id}")]
|
[HttpPut("{id}")]
|
||||||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
public ActionResult LendPatchById(long id, LendPost lend)
|
||||||
{
|
{
|
||||||
return Ok();
|
var lendPatch = _repository.insertLendReturningId(id, lend);
|
||||||
|
return Ok(lendPatch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -113,13 +113,15 @@ namespace BuecherwurmAPI.Models
|
||||||
}
|
}
|
||||||
return book;
|
return book;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public void DeleteProduct(long id)
|
public void DeleteProduct(long id)
|
||||||
{
|
{
|
||||||
using (var command = _dbConnection.CreateCommand())
|
using (var command = _dbConnection.CreateCommand())
|
||||||
{
|
{
|
||||||
command.Parameters.Add(new SqliteParameter("@id", SqliteType.Integer)).Value = id;
|
command.Parameters.Add(new SqliteParameter("@id", id));
|
||||||
command.CommandText = @"DELETE * FROM Produkts WHERE ProductId= @id";
|
command.CommandText = @"DELETE FROM Products WHERE ProductId= @id";
|
||||||
var dataReader = command.ExecuteReader();
|
var dataReader = command.ExecuteReader();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,8 +130,6 @@ namespace BuecherwurmAPI.Models
|
||||||
{
|
{
|
||||||
using (var command = _dbConnection.CreateCommand())
|
using (var command = _dbConnection.CreateCommand())
|
||||||
{
|
{
|
||||||
// funktioniert das so?
|
|
||||||
//muss ProduktId übergeben werden? -> ProductId wird weiter hinten mit 'NULL' befüllt, damit die ID automatisch vergeben wird.
|
|
||||||
command.CommandText = @"INSERT INTO Products (ProductId, Title, Author, Country, Link, Language, Pages, Year, Category, ImageLink, LendTime, LendType, Run, Audience, Topic) VALUES (NULL, @Title, @Author, @Country, @Link, @Language, @Pages, @Year, @Category, @ImageLink, @LendTime, @LendType, @Run, @Audience, @Topic)";
|
command.CommandText = @"INSERT INTO Products (ProductId, Title, Author, Country, Link, Language, Pages, Year, Category, ImageLink, LendTime, LendType, Run, Audience, Topic) VALUES (NULL, @Title, @Author, @Country, @Link, @Language, @Pages, @Year, @Category, @ImageLink, @LendTime, @LendType, @Run, @Audience, @Topic)";
|
||||||
|
|
||||||
command.Parameters.Add(new SqliteParameter("@Title", book.Title));
|
command.Parameters.Add(new SqliteParameter("@Title", book.Title));
|
||||||
|
@ -214,7 +214,7 @@ namespace BuecherwurmAPI.Models
|
||||||
command.Parameters.Add(new SqliteParameter("@Topic", ((MagazinPost)book).Topic));
|
command.Parameters.Add(new SqliteParameter("@Topic", ((MagazinPost)book).Topic));
|
||||||
}
|
}
|
||||||
|
|
||||||
var success = command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,5 +24,7 @@ namespace BuecherwurmAPI.Models
|
||||||
public DateTime ReturnDate {get; set;}
|
public DateTime ReturnDate {get; set;}
|
||||||
|
|
||||||
public string Customer {get; set;}
|
public string Customer {get; set;}
|
||||||
|
|
||||||
|
public bool Returned { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,14 +101,43 @@ namespace BuecherwurmAPI.Models
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long insertLendReturningId(LendPost lend)
|
public long insertLendReturningId(long id, LendPost lend)
|
||||||
{
|
{
|
||||||
using (var command = _dbConnection.CreateCommand())
|
using (var command = _dbConnection.CreateCommand())
|
||||||
{
|
{
|
||||||
command.CommandText = "INSERT INTO Lends VALUES (NULL, @itemId, @returnDate, @customer, false)";
|
command.CommandText = "UPDATE Lends SET (ItemId, ReturnDate, Customer, Returned) = (@itemId, @returnDate, @customer, @returned) WHERE Id = @id";
|
||||||
|
|
||||||
|
command.Parameters.Add(new SqliteParameter("@id", id));
|
||||||
command.Parameters.Add(new SqliteParameter("@itemId", lend.ItemId));
|
command.Parameters.Add(new SqliteParameter("@itemId", lend.ItemId));
|
||||||
command.Parameters.Add(new SqliteParameter("@returnDate", lend.ReturnDate));
|
command.Parameters.Add(new SqliteParameter("@returnDate", lend.ReturnDate));
|
||||||
command.Parameters.Add(new SqliteParameter("@customer", lend.Customer));
|
command.Parameters.Add(new SqliteParameter("@customer", lend.Customer));
|
||||||
|
command.Parameters.Add(new SqliteParameter("@returned", lend.Returned));
|
||||||
|
|
||||||
|
|
||||||
|
var success = command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
if (success == 1)
|
||||||
|
{
|
||||||
|
command.CommandText = @"SELECT last_insert_rowid()";
|
||||||
|
return (long)command.ExecuteScalar();
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public long AddLend (LendPost lend)
|
||||||
|
{
|
||||||
|
using (var command = _dbConnection.CreateCommand())
|
||||||
|
{
|
||||||
|
// funktioniert das so?
|
||||||
|
//muss ProduktId übergeben werden?
|
||||||
|
command.CommandText = @"INSERT INTO Lends (itemid, ReturnDate, Customer, Returned) VALUES (@ItemId, @ReturnDate, @Customer, false)";
|
||||||
|
|
||||||
|
command.Parameters.Add(new SqliteParameter("@ItemId", lend.ItemId));
|
||||||
|
command.Parameters.Add(new SqliteParameter("@ReturnDate", lend.ReturnDate));
|
||||||
|
command.Parameters.Add(new SqliteParameter("@Customer", lend.Customer));
|
||||||
|
|
||||||
var success = command.ExecuteNonQuery();
|
var success = command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
|
14
Program.cs
14
Program.cs
|
@ -41,12 +41,22 @@ namespace BuecherwurmAPI
|
||||||
//var importedMags = JsonSerializer.Deserialize<List<Models.BookPost>>(magazinesJson);
|
//var importedMags = JsonSerializer.Deserialize<List<Models.BookPost>>(magazinesJson);
|
||||||
List<Models.IProductPost> imports = new List<Models.IProductPost>();
|
List<Models.IProductPost> imports = new List<Models.IProductPost>();
|
||||||
imports.AddRange(importedBooks);
|
imports.AddRange(importedBooks);
|
||||||
|
foreach (var item in importedBooks)
|
||||||
|
{
|
||||||
|
item.LendType = LendTypeEnum.Virtual;
|
||||||
|
item.Category = Models.CategoryEnum.EBook;
|
||||||
|
imports.Add(item);
|
||||||
|
}
|
||||||
//imports.AddRange(importedMags);
|
//imports.AddRange(importedMags);
|
||||||
|
|
||||||
var model = new Models.KatalogModel();
|
|
||||||
foreach (var item in imports)
|
foreach (var item in imports)
|
||||||
{
|
{
|
||||||
model.AddProduct(item);
|
var id = catalogue.AddProduct(item);
|
||||||
|
items.NewItem(new Models.ItemPost{ BookId = (int)id});
|
||||||
|
if (item.LendType != LendTypeEnum.Virtual)
|
||||||
|
{
|
||||||
|
items.NewItem(new Models.ItemPost{ BookId = (int)id});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue