Example #1
0
        public static void ClearFLFlag(FLInstance flInstance, object[] keyValues, object[] clientInfo)
        {
            string hostTable = ((IFLRootActivity)flInstance.RootFLActivity).TableName;
            if (hostTable == null || hostTable == string.Empty || keyValues.Length == 0)
            {
                String message = string.Format(SysMsg.GetSystemMessage((SYS_LANGUAGE)(((object[])(clientInfo[0]))[0]), "FLRuntime", "HostTable", "HostTableNotContainRecord"), hostTable, keyValues[1].ToString());
                throw new FLException(message);
            }

            var eepAlias = ((IFLRootActivity)flInstance.RootFLActivity).EEPAlias;
            var alias = string.Empty;
            if (!string.IsNullOrEmpty(eepAlias))
            {
                alias = (string)((object[])clientInfo[0])[2];
                ((object[])clientInfo[0])[2] = eepAlias;
            }

            string where = string.Empty;
            string s = keyValues[1].ToString();
            string[] ss = s.Split(";".ToCharArray());
            foreach (object o in ss)
            {
                where += (o.ToString()).Replace("''", "'");
                where += " and ";
            }
            where += " 1=1 ";

            EEPRemoteModule remoteModule = new EEPRemoteModule();
            string sql = string.Format(CLEAR_HOSTTABLE, Qutoe(clientInfo, hostTable), where);
            object[] objs = remoteModule.ExecuteSql(clientInfo, "GLModule", "cmdWorkflow", sql, false);
            if (objs[0].ToString() == "1")
            {
                throw new FLException(objs[1].ToString());
            }
            if (!string.IsNullOrEmpty(alias))
            {
                ((object[])clientInfo[0])[2] = alias;
            }
        }