public void CancelApply(GoodsApply model) { var goods = GetModel(model.GoodsId); goods.Number += model.Number; var info = DB.FormInfos.FirstOrDefault(e => e.ID == model.ID); info.Deleted = true; info.FlowData.Completed = true; DB.SaveChanges(); }
public void Approval(GoodsApply apply) { var info = Core.FormInfoManager.GetModel(apply.ID); var flowNodeData = info.FlowData.GetUserLastNodeData(apply.ApprovalUserId); flowNodeData.Result = apply.Result; Core.FlowNodeDataManager.Submit(flowNodeData); Core.FlowDataManager.Complete(info); if (apply.Result == false) { var goods = GetModel(apply.GoodsId); goods.Number += apply.Number; DB.SaveChanges(); } }
public void Apply(int goodsId, int number, int approvalUserId, string note = null) { var model = new GoodsApply { GoodsId = goodsId, ApplyUserId = Identity.ID, ApprovalUserId = approvalUserId, Number = number, Note = note }; var goods = Core.GoodsManager.GetModel(model.GoodsId); if (model.Number > goods.Number) { throw new Exception("申请数量太多"); } var apply = Core.GoodsManager.GetLastApply(goods.ID, Identity.ID); if (apply != null && !apply.Result.HasValue && !apply.Info.Deleted) { throw new Exception("您已经申请过该物品,尚未通过审核,请耐心等待"); } var info = new FormInfo { FormId = (int)FormType.Goods, Title = $"申请物品{goods.Name}x{model.Number}", PostUserId = Identity.ID, }; Core.FormInfoManager.Save(info); var flowData = Core.FlowDataManager.CreateFlowData(info); Core.FlowDataManager.SubmitToUser(flowData, model.ApprovalUserId); model.ID = info.ID; goods.Number -= model.Number; Core.GoodsManager.SaveApply(model); }
public void SaveApply(GoodsApply model) { DB.GoodsApplies.AddOrUpdate(model); DB.SaveChanges(); }