public override SdataTransactionResult Delete(string id)
{
SdataTransactionResult tmpTransactionResult;
DataSets.OrderTableAdapters.Order_DetailsTableAdapter detailsTableAdapter = new Order_DetailsTableAdapter();
DataSets.Order order = new DataSets.Order();
int productId;
int orderId;
if (GetLocalIds(id, out orderId, out productId))
{
using (OleDbConnection connection = new OleDbConnection(_context.Config.ConnectionString))
{
try
{
detailsTableAdapter.Connection = connection;
int recordCount = detailsTableAdapter.FillBy(order.Order_Details, orderId);
if (recordCount == 0)
{
tmpTransactionResult = new SdataTransactionResult();
tmpTransactionResult.LocalId = id;
tmpTransactionResult.HttpMethod = "DELETE";
tmpTransactionResult.ResourceKind = _resourceKind;
tmpTransactionResult.HttpStatus = System.Net.HttpStatusCode.BadRequest;
tmpTransactionResult.HttpMessage = ("salesorder not found");
return tmpTransactionResult;
}
foreach (Sage.Integration.Northwind.Adapter.Data.SalesOrders.DataSets.Order.Order_DetailsRow row in order.Order_Details.Rows)
{
if (row.ProductID == productId)
{
row.Delete();
break;
}
}
detailsTableAdapter.Update(order.Order_Details);
tmpTransactionResult = new SdataTransactionResult();
tmpTransactionResult.LocalId = id;
tmpTransactionResult.HttpMethod = "DELETE";
tmpTransactionResult.ResourceKind = _resourceKind;
tmpTransactionResult.HttpStatus = System.Net.HttpStatusCode.OK;
return tmpTransactionResult;
}
catch (Exception e)
{
tmpTransactionResult = new SdataTransactionResult();
tmpTransactionResult.LocalId = id;
tmpTransactionResult.HttpMethod = "DELETE";
tmpTransactionResult.ResourceKind = _resourceKind;
tmpTransactionResult.HttpStatus = System.Net.HttpStatusCode.BadRequest;
tmpTransactionResult.HttpMessage = e.Message;
return tmpTransactionResult;
}
}
}
tmpTransactionResult = new SdataTransactionResult();
tmpTransactionResult.LocalId = id;
tmpTransactionResult.HttpMethod = "DELETE";
tmpTransactionResult.ResourceKind = _resourceKind;
tmpTransactionResult.HttpStatus = System.Net.HttpStatusCode.BadRequest;
tmpTransactionResult.HttpMessage = "Not found";
return tmpTransactionResult;
}