Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 public void SaveApply(GoodsApply model)
 {
     DB.GoodsApplies.AddOrUpdate(model);
     DB.SaveChanges();
 }