示例#1
0
        public void Approve()
        {
            //更新状态
            F_INST_WORKITEM inst = DAL.WorkFlow.WorkItemInstance.Get(this.ID);

            inst.AppValue  = this.AppValue;
            inst.AppRemark = this.AppRemark;
            inst.Actorid   = this.Actorid;
            inst.EndDate   = DateTime.Now;
            inst.State     = WorkItemState.Completed;

            DAL.WorkFlow.WorkItemInstance.Save(inst);


            //调用表单Action
            bool isInner    = this.ActivityInstance.FlowInstance.FlowDefine.IsInner;
            int  flowId     = this.ActivityInstance.FlowInstance.FlowDefine.ID;
            int  flowNo     = this.ActivityInstance.FlowInstance.FlowNo;
            int  activityId = this.ActivityInstance.Activity.ID;

            FlowAction <IApprove> flowAction = new FlowAction <IApprove>(isInner, flowId);

            if (flowAction.action != null)
            {
                if (!flowAction.action.ApproveAction(flowId, flowNo, activityId, this.Actorid, this.AppValue, this.AppRemark))
                {
                    throw new Exception(string.Format("ApproveAction失败,flowId{0},flowNo{1},activityId{2},this.Actorid{3},AppValue{4}", flowId, flowNo, activityId, Actorid, AppValue));
                }
            }
        }
示例#2
0
        public void CreateResend(int activityInstId, int workerId, string remark)
        {
            m_ActivityInstance = new ActivityInstance(activityInstId);
            m_State            = WorkItemState.Waiting;


            m_WorkItemId = PrimaryKeyCreater.getIntPrimaryKey("F_INST_WORKITEM");

            F_INST_WORKITEM instWorkItem = new F_INST_WORKITEM();

            instWorkItem.ID             = m_WorkItemId;
            instWorkItem.ActivityInstID = activityInstId;
            instWorkItem.Actorid        = workerId;
            instWorkItem.Role           = "申请人重新送出";
            instWorkItem.Assigneeid     = workerId;
            instWorkItem.Assignerid     = 0;
            instWorkItem.BeginDate      = DateTime.Now;
            instWorkItem.EndDate        = DateTime.Now;
            instWorkItem.State          = WorkItemState.Completed;
            instWorkItem.AppType        = WorkItemApproveType.Blank;
            instWorkItem.AssignType     = WorkItemAssignType.Normal;
            instWorkItem.AppValue       = string.Empty;
            instWorkItem.AppRemark      = remark;

            DAL.WorkFlow.WorkItemInstance.Insert(instWorkItem);
        }
示例#3
0
        public static void Insert(F_INST_WORKITEM entity)
        {
            using (MainDataContext dbContext = new MainDataContext())
            {
                //var list = from a in dbContext.F_INST_WORKITEM select a.ID;

                //long total = list.LongCount();

                //if (total == 0)
                //{
                //    entity.ID = 1;
                //}
                //else
                //{
                //    entity.ID = dbContext.F_INST_WORKITEM.Max(a => a.ID) + 1;
                //}


                dbContext.F_INST_WORKITEM.InsertOnSubmit(entity);

                dbContext.SubmitChanges();

                //return entity.ID;
            }
        }
示例#4
0
        public WorkItemInstance(int id)
        {
            m_WorkItemId = id;

            F_INST_WORKITEM item = DAL.WorkFlow.WorkItemInstance.Get(m_WorkItemId);

            m_ActivityInstance = new ActivityInstance(item.ActivityInstID);

            m_State = item.State;
        }
示例#5
0
        public void Pass()
        {
            //更新状态
            F_INST_WORKITEM inst = DAL.WorkFlow.WorkItemInstance.Get(this.ID);

            inst.EndDate = DateTime.Now;
            inst.State   = WorkItemState.Pass;

            DAL.WorkFlow.WorkItemInstance.Save(inst);
        }
示例#6
0
        public void Sign()
        {
            IESignature sign = ctx["ESignature"] as IESignature;

            F_INST_WORKITEM inst = DAL.WorkFlow.WorkItemInstance.Get(this.ID);

            inst.Cert       = sign.GetStrSignCert();
            inst.Esignature = sign.GetStrSignData(this.ActivityInstance.FlowInstance.FormDigest);;

            DAL.WorkFlow.WorkItemInstance.Save(inst);
        }
示例#7
0
        public static bool Save(F_INST_WORKITEM entity)
        {
            using (MainDataContext dbContext = new MainDataContext())
            {
                var model = dbContext.F_INST_WORKITEM.FirstOrDefault(t => t.ID == entity.ID);

                model.ActivityInstID = entity.ActivityInstID;
                model.Actorid        = entity.Actorid;
                model.Assigneeid     = entity.Assigneeid;
                model.Assignerid     = entity.Assignerid;
                model.BeginDate      = entity.BeginDate;
                model.EndDate        = entity.EndDate;
                model.State          = entity.State;
                model.AppType        = entity.AppType;
                model.AssignType     = entity.AssignType;
                model.AppValue       = entity.AppValue;
                model.AppRemark      = entity.AppRemark;

                dbContext.SubmitChanges();
            }

            return(true);
        }
示例#8
0
        public void Create(int activityInstId, int workerId)
        {
            m_ActivityInstance = new ActivityInstance(activityInstId);
            m_State            = WorkItemState.Waiting;

            //IPrimaryKeyCreater prikey = ctx["PrimaryKeyCreater"] as IPrimaryKeyCreater;
            m_WorkItemId = PrimaryKeyCreater.getIntPrimaryKey("F_INST_WORKITEM");

            F_INST_WORKITEM instWorkItem = new F_INST_WORKITEM();

            instWorkItem.ID             = m_WorkItemId;
            instWorkItem.ActivityInstID = activityInstId;
            instWorkItem.Actorid        = null;
            instWorkItem.Role           = m_ActivityInstance.Activity.Name;
            instWorkItem.Assigneeid     = workerId;
            instWorkItem.Assignerid     = 0;
            instWorkItem.BeginDate      = DateTime.Now;
            instWorkItem.EndDate        = null;
            instWorkItem.State          = WorkItemState.Waiting;
            instWorkItem.AppType        = WorkItemApproveType.Normal;
            instWorkItem.AssignType     = WorkItemAssignType.Normal;

            DAL.WorkFlow.WorkItemInstance.Insert(instWorkItem);
        }