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