Esempio n. 1
0
        protected override void Execute(CodeActivityContext context)
        {
            Job    job                      = context.GetValue(this.Job);
            string variableName             = context.GetValue(this.Name);
            int    dataSourceId             = context.GetValue(this.DataSourceId);
            IdpePersistentVariable variable = null;


            if (job != null)
            {
                if (dataSourceId == 0)
                {
                    dataSourceId = job.DataSource.Id;
                }
                variable = new Manager().GetPersistentVariable(dataSourceId, variableName);
            }
            else
            {
                WorkerData data = context.GetValue(this.Data);
                data.ThrowErrorIfNull(this.DisplayName);

                if (dataSourceId == 0)
                {
                    dataSourceId = data.Job.DataSource.Id;
                }
                variable = new Manager().GetPersistentVariable(dataSourceId, variableName);
            }

            if (variable != null)
            {
                context.SetValue(ReutrnValue, variable.Value);
            }
        }
Esempio n. 2
0
        public IdpePersistentVariable SavePersistentVariable(int dataSourceId, string variableName, string variableValue)
        {
            if (string.IsNullOrEmpty(variableName))
            {
                throw new Exception("Variable name can not be blank!");
            }

            IDal          dal        = new DataAccessLayer(EyediaCoreConfigurationSection.CurrentConfig.Database.DatabaseType).Instance;
            IDbConnection connection = dal.CreateConnection(_ConnectionString);

            connection.Open();

            IDbCommand command = dal.CreateCommand();

            command.Connection = connection;

            IdpePersistentVariable variable = GetPersistentVariable(dataSourceId, variableName, dal, connection);

            if (variable == null)
            {
                command.CommandText  = "INSERT INTO IdpePersistentVariable(DataSourceId, Name, Value, CreatedTS) ";
                command.CommandText += " VALUES (@DataSourceId, @Name, @Value, @CreatedTS)";
                command.AddParameterWithValue("DataSourceId", dataSourceId);
                command.AddParameterWithValue("Name", variableName);
                command.AddParameterWithValue("Value", variableValue);
                command.AddParameterWithValue("CreatedTS", DateTime.Now);
                command.ExecuteNonQuery();
            }
            else
            {
                command.CommandText  = "UPDATE [IdpePersistentVariable] SET [Value] = @Value, [CreatedTS] = @CreatedTS ";
                command.CommandText += "WHERE [DataSourceId] = @DataSourceId AND [Name] = @Name";
                command.AddParameterWithValue("DataSourceId", dataSourceId);
                command.AddParameterWithValue("Name", variableName);
                command.AddParameterWithValue("Value", variableValue);
                command.AddParameterWithValue("CreatedTS", DateTime.Now);

                command.ExecuteNonQuery();
            }
            if (variable == null)
            {
                //if we are here, then we have inserted or updated, lets just fill the object and return it
                variable = new IdpePersistentVariable();
                variable.DataSourceId = dataSourceId;
                variable.Name         = variableName;
                variable.Value        = variableValue;
                variable.CreatedTS    = DateTime.Now;
            }
            else
            {
                variable.Value     = variableValue;
                variable.CreatedTS = DateTime.Now;
            }
            return(variable);
        }
Esempio n. 3
0
        public IdpePersistentVariable GetPersistentVariable(int dataSourceId, string name, IDal dal = null, IDbConnection connection = null)
        {
            bool isLocalConnection = false;

            if (dal == null)
            {
                dal        = new DataAccessLayer(EyediaCoreConfigurationSection.CurrentConfig.Database.DatabaseType).Instance;
                connection = dal.CreateConnection(_ConnectionString);
                connection.Open();
                isLocalConnection = true;
            }

            IdpePersistentVariable variable = null;

            IDbCommand command = dal.CreateCommand("SELECT [Value] FROM IdpePersistentVariable WHERE DataSourceId = @DataSourceId AND Name = @Name", connection);

            command.AddParameterWithValue("DataSourceId", dataSourceId);
            command.AddParameterWithValue("Name", name);
            IDataReader reader = command.ExecuteReader();

            if (reader.Read())
            {
                variable = new IdpePersistentVariable();
                variable.DataSourceId = dataSourceId;
                variable.Name         = name;
                variable.Value        = reader[0].ToString();
            }


            reader.Close();
            reader.Dispose();
            command.Dispose();

            if (isLocalConnection)
            {
                if (connection != null)
                {
                    connection.Close();
                    connection.Dispose();
                }
            }
            return(variable);
        }
Esempio n. 4
0
        public List <IdpePersistentVariable> GetPersistentVariables()
        {
            List <IdpePersistentVariable> variables = new List <IdpePersistentVariable>();
            DataTable table = CoreDatabaseObjects.Instance.ExecuteCommand("SELECT * FROM IdpePersistentVariable");

            if (table == null)
            {
                return(variables);
            }

            foreach (DataRow row in table.Rows)
            {
                IdpePersistentVariable variable = new IdpePersistentVariable();
                variable.DataSourceId = (int)row["DataSourceId"].ToString().ParseInt();
                variable.Name         = row["Name"].ToString();
                variable.Value        = row["Value"].ToString();
                variable.CreatedTS    = (DateTime)row["CreatedTS"].ToString().ParseDateTime();

                variables.Add(variable);
            }

            return(variables);
        }