示例#1
0
文件: WorkFlow.cs 项目: zxl881203/src
        private static void AuditDefined(int instanceId, string instanceCode, string businessCode, string businessClass, string lastFlowState, string tableName, string columnName)
        {
            string str2 = SelfEventAction.GetTypeName(AppDomain.CurrentDomain.BaseDirectory + "SelfEventInfo.xml", tableName, columnName);

            if (!string.IsNullOrWhiteSpace(str2))
            {
                ISelfEvent event2 = (ISelfEvent)Assembly.Load("PmBusinessLogic").CreateInstance(str2);
                if (event2 != null)
                {
                    string maxSing = FlowAuditAction.GetMaxSing(instanceId);
                    if ((lastFlowState == "1") && (maxSing == "1"))
                    {
                        event2.CommitEvent(instanceCode.ToString());
                    }
                    else if (lastFlowState == "-2")
                    {
                        event2.RefuseEvent(instanceCode.ToString());
                    }
                    else if (lastFlowState == "-3")
                    {
                        event2.RestatedEvent(instanceCode.ToString());
                    }
                }
            }
            if (lastFlowState == "1")
            {
                if (businessCode == "089")
                {
                    TenderInfo.UpdatePrjState(Guid.Parse(instanceCode), 2);
                }
                else if (businessCode == "100")
                {
                    PrjMember.AddLimit(Guid.Parse(instanceCode));
                }
                else if (businessCode == "107")
                {
                    Progress.UpdateLatest(instanceCode.ToString());
                }
                else if (businessCode == "108")
                {
                    cn.justwin.BLL.ProgressManagement.Version.UpdateLatest(instanceCode.ToString());
                }
                MsgOrganiger(instanceId, businessCode, businessClass);
            }
        }