From 8d81ab4843d283693868706b491c1a4483f7e8a1 Mon Sep 17 00:00:00 2001 From: Naumann Date: Thu, 4 Jun 2020 12:23:32 +0200 Subject: [PATCH] bug fix --- Controllers/LendController.cs | 7 ++++--- LongWormMemory.db | Bin 16384 -> 16384 bytes Models/Lend.cs | 2 ++ Models/LendModel.cs | 31 +++++++++++++++++++++++++++++-- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/Controllers/LendController.cs b/Controllers/LendController.cs index f599103..47a7c37 100644 --- a/Controllers/LendController.cs +++ b/Controllers/LendController.cs @@ -35,7 +35,7 @@ namespace BuecherwurmAPI.Controllers [HttpPost] public ActionResult LendsPost(LendPost lend) { - var newId = _repository.insertLendReturningId(lend); + var newId = _repository.AddLend(lend); if (newId > 0) { var item = new Lend @@ -69,9 +69,10 @@ namespace BuecherwurmAPI.Controllers } //PATCH api/leihvorgang/{id} - [HttpPatch("{id}")] - public ActionResult LendPatchById(int id, JsonPatchDocument patchDocument) + [HttpPut("{id}")] + public ActionResult LendPatchById(long id, LendPost lend) { + _repository.insertLendReturningId(id, lend); return Ok(); } } diff --git a/LongWormMemory.db b/LongWormMemory.db index bc57600b15fb208782bcf5d3ad75dbb505ffbfc8..80df6e6d145b0a6a57fb283e231256021930897f 100644 GIT binary patch delta 182 zcmZo@U~Fh$oFL7pF;T{uQDbAm5_t(OzBm^Ci~O_sv-myuRr#6tZt`v5Yv+sGEGXc_ zSFg^+#=z(-&Y5ClU}T_cV5)0mpJo8rz{8nt41g3 delta 48 zcmZo@U~Fh$oFL7pG*QNxQE6ks5_utZzMCxk7x`!NXYqURtMW7P-P|lFaF}oNO+9r% E08c3m*#H0l diff --git a/Models/Lend.cs b/Models/Lend.cs index 50ba663..debbdf3 100644 --- a/Models/Lend.cs +++ b/Models/Lend.cs @@ -24,5 +24,7 @@ namespace BuecherwurmAPI.Models public DateTime ReturnDate {get; set;} public string Customer {get; set;} + + public bool Returned { get; set; } } } diff --git a/Models/LendModel.cs b/Models/LendModel.cs index 3c2bba7..62daeb4 100644 --- a/Models/LendModel.cs +++ b/Models/LendModel.cs @@ -101,14 +101,41 @@ namespace BuecherwurmAPI.Models return null; } - public long insertLendReturningId(LendPost lend) + public long insertLendReturningId(long id, LendPost lend) { 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("@returnDate", lend.ReturnDate)); command.Parameters.Add(new SqliteParameter("@customer", lend.Customer)); + command.Parameters.Add(new SqliteParameter("@returned", lend.Returned)); + + + var success = command.ExecuteNonQuery(); + + if (success == 1) + { + 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();