public IActionResult PutWarehouse(int id, WarehouseInputDTO warehouse) { if (!repository.Update(id, warehouse)) { return(NotFound()); } return(Ok()); }
public int Add(WarehouseInputDTO inputEntity) { using IDbConnection connection = new SqlConnection(connectionString); connection.Open(); using IDbTransaction transaction = connection.BeginTransaction(); try { var insertQuery = "INSERT INTO Warehouses (Number, Address) VALUES (@Number, @Address); SELECT SCOPE_IDENTITY()"; var createdEntityId = connection.ExecuteScalar <int>(insertQuery, inputEntity, transaction); AddWarehouseProducts(connection, transaction, createdEntityId, inputEntity.ProductIds); transaction.Commit(); return(createdEntityId); } catch { transaction.Rollback(); throw; } }
public bool Update(int id, WarehouseInputDTO inputEntity) { using IDbConnection connection = new SqlConnection(connectionString); connection.Open(); using IDbTransaction transaction = connection.BeginTransaction(); try { var updateQuery = "Update Warehouses SET Number = @Number, Address = @Address WHERE Id = @Id"; Warehouse entity = mapper.Map <Warehouse>(inputEntity); entity.Id = id; var result = connection.Execute(updateQuery, entity, transaction) == 1; var deleteWarehouseProducts = "DELETE FROM ProductWarehouses WHERE WarehouseId = @Id"; connection.Execute(deleteWarehouseProducts, entity, transaction); AddWarehouseProducts(connection, transaction, id, inputEntity.ProductIds); transaction.Commit(); return(result); } catch { transaction.Rollback(); throw; } }
public int PostWarehouse(WarehouseInputDTO item) { return(repository.Add(item)); }