/// <summary>
        /// Создает источник данных, на основе типа инициалайзера и его параметров, Источник добавляется в глобальный список
        /// </summary>
        /// <param name="initializerType">Тип инициализатора, наследуется от IInitializer</param>
        /// <param name="initializerProperties">Обязательные для заполнения поля инициализатора</param>
        /// <returns>Новый источник данных</returns>
        public static DataSource CreateDataSource(Type initializerType, Dictionary<string, object> initializerProperties)
        {
            DataSource dataSource = null;

            if (initializerType != null &&
                initializerType.BaseType != null &&
                initializerType.BaseType.Name == "Initializer")
            {
                dataSource = new DataSource(Activator.CreateInstance(initializerType) as Abstract.Initializer);

                if (initializerProperties != null)
                {
                    foreach (var currProperty in initializerProperties)
                    {
                        initializerType.InvokeMember("SetProperty", BindingFlags.Public |
                                                                    BindingFlags.NonPublic |
                                                                    BindingFlags.Instance |
                                                                    BindingFlags.InvokeMethod, null, dataSource.Initializer, new[] { currProperty.Key, currProperty.Value });
                    }
                }
            }

            if (dataSource == null)
            {
                dataSource = new DataSource();
            }

            DataSources.Add(dataSource);
            return dataSource;
        }
示例#2
0
 public SqlDelete(DataSource dataSource)
 {
     DataSource = dataSource;
 }
示例#3
0
 public SqlUpdate(DataSource dataSource)
 {
     DataSource = dataSource;
 }