本文
修改
1、修改指定商品 Repository
/// <summary>
/// 修改商品內容
/// </summary>
/// <param name="productModel"></param>
/// <returns></returns>
public bool UpdateProduct(ProductModel productModel)
{
var sql = @"UPDATE products
SET productname = @ProductName,
supplierid = @SupplierID,
categoryid = @CategoryID,
quantityperunit = @QuantityPerUnit,
unitprice = @UnitPrice,
unitsinstock = @UnitsInStock,
unitsonorder = @UnitsOnOrder,
reorderlevel = @ReorderLevel,
discontinued = @Discontinued
WHERE productid = @ProductID ";
var parameters = new DynamicParameters();
parameters.Add("@ProductName", productModel.ProductName);
parameters.Add("@SupplierID", productModel.SupplierID);
parameters.Add("@CategoryID", productModel.CategoryID);
parameters.Add("@QuantityPerUnit", productModel.QuantityPerUnit);
parameters.Add("@UnitPrice", productModel.UnitPrice);
parameters.Add("@UnitsInStock", productModel.UnitsInStock);
parameters.Add("@UnitsOnOrder", productModel.UnitsOnOrder);
parameters.Add("@ReorderLevel", productModel.ReorderLevel);
parameters.Add("@Discontinued", productModel.Discontinued);
parameters.Add("@ProductID", productModel.ProductID);
var connection = new SqlConnection(ConnectionHelper.ConnectionStr);
var result = connection.Execute(
sql,
parameters);
return result > 0;
}
2、在 Controller 建立一個 Update 方法。
/// <summary>
/// 修改商品
/// </summary>
/// <param name="productModel"></param>
/// <returns></returns>
[Route("Product")]
[HttpPatch]
public ResultModel UpdateProduct([FromBody] ProductModel productModel)
{
var result = new ResultModel();
var repository = new ProductRepository();
var data = repository.UpdateProduct(productModel);
if (data == true)
{
result.Result = data;
result.Message = "修改商品成功";
}
else
{
result.Result = data;
result.Message = "修改商品失敗,請重試";
}
return result;
}
3、測試
選擇更新 productid=85 這筆
更新內容
{
"ProductId": 85 ,
"ProductName": "testProduct1",
"SupplierID": 1,
"CategoryID": 1,
"QuantityPerUnit": "1k pkg.",
"UnitPrice": 10.5,
"UnitsInStock": 2,
"UnitsOnOrder": 50,
"ReorderLevel": 10,
"Discontinued": false
}
刪除
1、刪除指定的商品 Repository
/// <summary>
/// 刪除指定的商品
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
public bool RemoveProduct(int productId)
{
var sql = @"DELETE products
WHERE productid = @ProductID ";
var parameter = new DynamicParameters();
parameter.Add("@ProductID", productId);
var connection = new SqlConnection(ConnectionHelper.ConnectionStr);
var result = connection.Execute(
sql,
parameter);
return result > 0;
}
2、在 Controller 建立一個 Remove 方法。
/// <summary>
/// 刪除指定商品
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
[Route("Product/{productId}")]
[HttpDelete]
public ResultModel RemoveProduct(int productId)
{
var result = new ResultModel();
var repository = new ProductRepository();
var data = repository.RemoveProduct(productId);
if (data == true)
{
result.Result = data;
result.Message = "刪除商品成功";
}
else
{
result.Result = data;
result.Message = "刪除商品失敗,請重試";
}
return result;
}
3、測試
選擇刪除 productId=84 這筆資料。
資料庫列表
後記
到此算是簡單的 CRUD 示範,接下來會開始分析及解說一下這個範例使用的方式。
示範程式碼會一併放到 Github 需要觀看的可以到以下連結。