Пример #1
0
        private static void LockForWrite(VariableDispenser variableDispenser, ref Variables variables, List <string> lockForReadWrite, IEnumerable <string> mappedParams, IDTSComponentEvents componentEvents)
        {
            bool refire = false;

            foreach (string t in mappedParams)
            {
                try
                {
                    string param = t.Split(new[] { "::" }, StringSplitOptions.RemoveEmptyEntries)[1].Replace("[", string.Empty).Replace("]", string.Empty).Replace("@", string.Empty);
                    if (!IsVariableInLockForReadOrWrite(lockForReadWrite, param))
                    {
                        componentEvents.FireInformation(0, "SSISPowerShell", String.Format("LockForWrite: {0} ", param), string.Empty, 0, ref refire);
                        variableDispenser.LockOneForWrite(param, ref variables);
                    }
                }
                catch (Exception)
                {
                    componentEvents.FireInformation(0, "SSISPowerShell", String.Format("Unable to LockForWrite: {0} ", t), string.Empty, 0, ref refire);
                }
            }
        }