public IActionResult PutShop(int id, ShopInputDTO shop) { if (!repository.Update(id, shop)) { return(NotFound()); } return(Ok()); }
public int Add(ShopInputDTO inputEntity) { using IDbConnection connection = new SqlConnection(connectionString); connection.Open(); using IDbTransaction transaction = connection.BeginTransaction(); try { var insertQuery = "INSERT INTO Shops (Address) VALUES (@Address); SELECT SCOPE_IDENTITY()"; var createdEntityId = connection.ExecuteScalar <int>(insertQuery, inputEntity, transaction); AddShopProducts(connection, transaction, createdEntityId, inputEntity.ProductIds); transaction.Commit(); return(createdEntityId); } catch { transaction.Rollback(); throw; } }
public bool Update(int id, ShopInputDTO inputEntity) { using IDbConnection connection = new SqlConnection(connectionString); connection.Open(); using IDbTransaction transaction = connection.BeginTransaction(); try { var updateQuery = "Update Shops SET Address = @Address WHERE Id = @Id"; Shop entity = mapper.Map <Shop>(inputEntity); entity.Id = id; var result = connection.Execute(updateQuery, entity, transaction) == 1; var deleteShopProducts = "DELETE FROM ProductShops WHERE ShopId = @Id"; connection.Execute(deleteShopProducts, entity, transaction); AddShopProducts(connection, transaction, id, inputEntity.ProductIds); transaction.Commit(); return(result); } catch { transaction.Rollback(); throw; } }
public int PostShop(ShopInputDTO item) { return(repository.Add(item)); }