以下代码示例
public ReturnResponse InsertOrder_Customer(InvoceOrder model)
{
ReturnResponse result = new ReturnResponse();
var goods_sn = ""; //记录不存在的商品
string allgoods_sn = ""; //记录分录表所有的商品
//开启事务
System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(connectionString);//这行是仿照我说的那个链接的
System.Data.SqlClient.SqlCommand cm = new System.Data.SqlClient.SqlCommand();//这行是仿照我说的那个链接的
cm.CommandType = CommandType.StoredProcedure;
cm.Connection = cnn;//这行是仿照我说的那个链接的
cnn.Open();//这行是仿照我说的那个链接的
System.Data.SqlClient.SqlTransaction trans = cnn.BeginTransaction(); //这行是仿照我说的那个链接的
cm.Transaction = trans;
try
{
var ordersn = CreateKingdeeSn(model.FTranType, model.FROB);
cm.CommandText = "AAProcName";
cm.Parameters.AddWithValue("@FBillNo", model.FBillNo);
cm.Parameters.AddWithValue("@Coustemor", model.Customer);
cm.ExecuteNonQuery();
var returnval = cm.Parameters["@return"].Value.ToString();
result = getErrorInfo((ErrorCode)Convert.ToInt32(returnval));
//日志
addLog(model.FBillNo + "|" + ordersn, model.FFManager, model.FTranType, result.ErrorCode, result.Msg, result.Success);
//从表
foreach (var m in model.orderList)
{
goods_sn = m.FNumber;
cm.CommandText = "AAProcNameEntry";
cm.Parameters.Clear();
cm.Parameters.AddWithValue("@FNumber", m.FNumber);
cm.Parameters.AddWithValue("@UnitName", m.UnitName.Trim());
cm.ExecuteNonQuery();
}
//日志
addLog(allgoods_sn, "", "销售发票分录", result.ErrorCode, result.Msg, result.Success);
trans.Commit(); //提交事务
result.Success = true;
result.ErrorCode = (int)ErrorCode.成功;
result.Msg = ordersn;// "操作成功!";
return result;
}
catch (Exception ex)
{
trans.Rollback();//回滚事务
result.Success = false;
result.ErrorCode = (int)ErrorCode.数据操作异常;
var Msg = "数据操作异常:" + ex.Message;
result.Msg = "系统正忙,请稍后再试";
addLog(model.FBillNo, model.FFManager, model.FTranType, result.ErrorCode, Msg, result.Success);
return result;
}
}