在新增之后修改原数据

public ActionResult InsertNotesIssued(PW_NotesRuKu pwNotesRuKu, PW_NotesIssued pwNotesIssued, PW_User pwUser, PW_ReceiveUser pwReceiveUser) {
ReturnJsonVo returnJson = new ReturnJsonVo();
using (var scope = new TransactionScope())
{try{//查询出入库里面的库存
var countStockNumber = (from tbStockNumber in myModals.PW_NotesRuKu
where tbStockNumber.NotesRuKuID == pwNotesRuKu.NotesRuKuID
select tbStockNumber.StockNumber).Single();
var varNumberRecipients = pwNotesIssued.NumberRecipients; //获取这次的领用数量
//判断库存是否够领用的数量,当库存大于或等于领用数量时则可以发放
if (countStockNumber >= varNumberRecipients) {
int countUser = (from tbUser in myModals.PW_User
where tbUser.UserID == pwUser.UserID
select tbUser).Count();
pwUser.UserID = pwNotesIssued.UserID;
//获取发放时间,发放的时间等于当前时间
DateTime dateTimeNow = DateTime.Now;
pwNotesIssued.IssuedDate = dateTimeNow;
//从session中获取这次发放票据的操作人员
var varUserID = Convert.ToInt32(Session[“UserID”].ToString());
pwNotesIssued.UserID = varUserID;
//查询出入库表表里面的数据,以便发放之后修改入库表里面的数据
PW_NotesRuKu NotesRuKuInfo = (from tbNotesRuKu in myModals.PW_NotesRuKu
where tbNotesRuKu.NotesRuKuID == pwNotesRuKu.NotesRuKuID
select tbNotesRuKu).Single();
//计算发放后入库表剩余库存
入库表的库存数量等于选中的那条数据的库存减去当时领用的数量
NotesRuKuInfo.StockNumber = countStockNumber - pwNotesIssued.NumberRecipients;
//计算发放后图库表的当前票号:
入库表的开始票号等于原入库表的当票票号加上当时领用的数量
NotesRuKuInfo.StayOutNotesNow = NotesRuKuInfo.StayOutNotesNow + pwNotesIssued.NumberRecipients;
//计算发放之后发放表的余票数量,
发放表内的余票数量等于发放表的库存
pwNotesIssued.MoreTicketQuantity = pwNotesIssued.NumberRecipients;
//发放表的开始票号等于入库表的开始票号。
发放表的开始票号等于入库表的开始票号
pwNotesIssued.StartIssuingNotes = NotesRuKuInfo.StartRuKuNotes;
//发放表的当前票号等于发放表的开始票号
pwNotesIssued.NotUseIssuingNow = pwNotesIssued.StartIssuingNotes;
//发放表的结束票号等于开始票号+领用数量-1
pwNotesIssued.EndIssuingNotes = pwNotesIssued.StartIssuingNotes + pwNotesIssued.NumberRecipients - 1;
//获取发放表内的剩余票数
var MoreTicketQuantity = pwNotesIssued.MoreTicketQuantity;
//获取发放表内的当前未使用票数
var NumberRecipients = pwNotesIssued. NotUseIssuingNow;
//当剩余票数等于未使用票数时,使用状态为1(未使用)
if (MoreTicketQuantity == NumberRecipients) {
pwNotesIssued.NotesUseStateID = 1; }
if (MoreTicketQuantity < NumberRecipients) {
pwNotesIssued.NotesUseStateID = 2;}
if (MoreTicketQuantity == 0) {
pwNotesIssued.NotesUseStateID = 3; }
//保存到发放表
myModals.PW_NotesIssued.Add(pwNotesIssued);
if (myModals.SaveChanges() > 0) {
var varUseriD = (from tbUserNumber in myModals.PW_User
where tbUserNumber.UserNumber == pwUser.UserNumber
select tbUserNumber.UserID).Single();
pwReceiveUser.UserID = varUseriD;
pwReceiveUser.NotesIssuedID = pwNotesIssued.NotesIssuedID;
pwNotesIssued.UserID = varUseriD;
//保存接收用户表
myModals.PW_ReceiveUser.Add(pwReceiveUser);
if (myModals.SaveChanges() > 0) {
//修改入库表的数量
myModals.Entry(NotesRuKuInfo).State = EntityState.Modified;

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值