TransactionManager tran = DataRepository.Provider.CreateTransaction(); //创建事物
tran.BeginTransaction();
try
{
//入库单
entityMES = new MaterialEnterStore();
entityMES.SupplierId = int.Parse(cbProvider.SelectedValue.ToString());
if (cbBuyer.Text.Length >0)
entityMES.Buyer = cbBuyer.Text.Trim();
if (cbKeeper.Text.Length >0)
entityMES.Keeper = cbKeeper.Text.Trim();
//if (cbChecker.Text.Length >0)
//entityMES.Checker = cbChecker.Text.Trim();
entityMES.TotalMoney = totalMoney;
entityMES.EnterStoreNumber = decimal.Parse(totalNumber.ToString());
entityMES.EnterStoreTime = dtpEnter.Value;
entityMES.BuyTime = dtpEnter.Value;
entityMES.State = 0; //未确认
entityMES.MaterialState = 0; //未出库
entityMES.Atrribute = 1; //辅料
DataRepository.MaterialEnterStoreProvider.Insert(tran, entityMES);
//入库明细
TList<MaterialEnterDetail> med = new TList<MaterialEnterDetail>();
foreach (VMaterialEnterStoreDetail item in (VList<VMaterialEnterStoreDetail>)this.bindingSource1.DataSource)
{
entityMED = new MaterialEnterDetail();
entityMED.EnterId = entityMES.EnterId;
entityMED.MaterialId = item.MaterialId;
entityMED.EnterAmount = item.EnterAmount;
entityMED.BuyPrice = item.BuyPrice;
entityMED.Measurement = item.Measurement;
entityMED.InvoiceId = item.InvoiceId;
entityMED.InvoiceMoney = item.InvoiceMoney;
entityMED.PoundAmount = item.PoundAmount;
entityMED.DifferenceNumber = item.DifferenceNumber;
entityMED.DifferenceMoney = item.DifferenceMoney;
entityMED.Taxmoney = item.Taxmoney;
entityMED.Taxrate = item.Taxrate;
entityMED.InvoiceId = Convert.ToInt32(1);//为了和发票类型对应起来,故意这样连接视图的
med.Add(entityMED);
}
DataRepository.MaterialEnterDetailProvider.Insert(tran,med);
tran.Commit();
MessageBox.Show("入库单保存成功", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Flag_Save = true;
this.Close();
}
catch (Exception ex)
{
tran.Rollback();
MessageBox.Show("数据库错误 原因:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
Flag_Save = false;
}