Example #1
0
 public virtual IList <DataModelType> GetModels()
 {
     using (DataModelProvider <DataModelType> dataProvider = this.CreateDataProvider())
     {
         return(dataProvider.GetModels());
     }
 }
Example #2
0
        public static void RegisterContext(DataModelProvider model, ContextConfiguration config, bool defaultModel)
        {
            // Just in case no model has been created yet
            MetaModel m = new MetaModel();

            if (defaultModel)
            {
                m = MetaModel.Default;
            }

            Exception exception  = null;
            MetaModel registered = null;

            try {
                registered = MetaModel.GetModel(model.ContextType);
            } catch (Exception) {
                // ignore
            }

            try {
                if (registered == null)
                {
                    m.RegisterContext(model, config);
                }
            } catch (InvalidOperationException ex) {
                exception = ex;
            }

            if (exception != null)
            {
                Console.WriteLine("RegisterContext exception:");
                Console.WriteLine(exception);
            }
        }
Example #3
0
        public void Delete(User user, OperationInfo opInfo)
        {
            using (DataModelProvider <UserDataModel> dataModelProvider = this.DataModelProviderFactory.CreateDataProvider <UserDataModel>())
            {
                UserDataModel model = dataModelProvider.SelectById(user.Id);
                dataModelProvider.Update(model);

                this.UserEvents.OnDeleted(user, opInfo);
            }
        }
Example #4
0
        public override CacheType GetCache(object key)
        {
            DataModelType model = null;

            using (DataModelProvider <DataModelType> dataProvider = this.CreateDataProvider())
            {
                model = dataProvider.SelectById(key);
            }

            return(this.Map(model));
        }
Example #5
0
        public DataServiceTableProvider(DataModelProvider model, PropertyInfo prop)
            : base(model)
        {
            this._prop = prop;
            Name       = prop.Name;
            EntityType = _prop.PropertyType.GetGenericArguments()[0];

            _columns         = new Collection <ColumnProvider>();
            _readOnlyColumns = new ReadOnlyCollection <ColumnProvider>(_columns);

            AddColumnsRecursive(EntityType);
        }
Example #6
0
        public void Change(UserChangeInfo changeInfo)
        {
            this.UserEvents.OnChanging(changeInfo);

            using (DataModelProvider <UserDataModel> dataModelProvider = this.DataModelProviderFactory.CreateDataProvider <UserDataModel>())
            {
                UserDataModel model = dataModelProvider.SelectById(changeInfo.ChangeUser.Id);
                this.MapperFactory.Map <UserDataModel, UserChangeInfo>(model, changeInfo);
                dataModelProvider.Update(model);

                this.UserEvents.OnChanged(changeInfo);
            }
        }
Example #7
0
 public void RegisterContext(DataModelProvider dataModelProvider, ContextConfiguration configuration)
 {
     if (dataModelProvider == null)
     {
         throw new ArgumentNullException("dataModelProvider");
     }
     CheckRegistrationError();
     try {
         RegisterContextCore(dataModelProvider, configuration);
     } catch (Exception ex) {
         registration_exception = ex;
         throw;
     }
 }
        public void CreateDataProviderByModelType()
        {
            TestEFDataModelProviderFactory factroy = new TestEFDataModelProviderFactory();

            DataModelProvider <TestDataModel> testModelProvider = factroy.CreateDataProvider <TestDataModel>();

            Assert.IsNotNull(testModelProvider);
            Assert.True(testModelProvider is TestDataModelProvider);

            DataModelProvider <TestDataModel_1> testModel_1Provider = factroy.CreateDataProvider <TestDataModel_1>();

            Assert.IsNotNull(testModel_1Provider);
            Assert.True(testModel_1Provider is EFDataModelProvider <TestDataModel_1>);
        }
Example #9
0
        public User Create(UserCreateInfo createInfo)
        {
            this.UserEvents.OnCreating(createInfo);
            UserDataModel model = this.MapperFactory.Map <UserDataModel, UserCreateInfo>(createInfo);

            using (DataModelProvider <UserDataModel> dataModelProvider = this.DataModelProviderFactory.CreateDataProvider <UserDataModel>())
            {
                dataModelProvider.Insert(model);
            }

            User user = this.MapperFactory.Map <User, UserDataModel>(model);

            this.UserEvents.OnCreated(user, createInfo);

            return(user);
        }
        public SimpleTableProvider(DataModelProvider model, Type entityType, object dataObject)
            : base(model)
        {
            Name       = entityType.Name;
            EntityType = entityType;

            var columns = new Collection <ColumnProvider>();

            // Add a column for each public property we find
            foreach (PropertyDescriptor columnProp in TypeDescriptor.GetProperties(dataObject))
            {
                columns.Add(new SimpleColumnProvider(this, columnProp));
            }

            _columns = new ReadOnlyCollection <ColumnProvider>(columns);
        }
Example #11
0
        void RegisterContextCore(DataModelProvider dataModelProvider, ContextConfiguration configuration)
        {
            RegisterModel(dataModelProvider.ContextType, this, configuration);

            var l = new List <MetaTable> (Tables);

            foreach (var t in dataModelProvider.Tables)
            {
                l.Add(new MetaTable(this, t, configuration));
            }

            Tables = new ReadOnlyCollection <MetaTable> (l);

            foreach (MetaTable t in l)
            {
                t.Init();
            }

            VisibleTables = l;
        }
 public MyTableProvider(DataModelProvider model)
     : base(model)
 {
 }
Example #13
0
 public static void RegisterContext(DataModelProvider model)
 {
     RegisterContext(model, null);
 }
Example #14
0
 public void LoadData <TId>(TId dataModelId) where TId : struct
 {
     _dataModel = DataModelProvider.GetById(dataModelId);
 }
Example #15
0
 /// <summary>
 /// Register context using give model provider. Uses default context configuration.
 /// </summary>
 /// <param name="dataModelProvider"></param>
 public void RegisterContext(DataModelProvider dataModelProvider)
 {
     RegisterContext(dataModelProvider, new ContextConfiguration());
 }
Example #16
0
        public virtual void RegisterContext(DataModelProvider dataModelProvider, ContextConfiguration configuration)
        {
            if (dataModelProvider == null)
            {
                throw new ArgumentNullException("dataModelProvider");
            }

            if (configuration == null)
            {
                throw new ArgumentNullException("configuration");
            }

            if (_registerGlobally)
            {
                CheckForRegistrationException();
            }

            // check if context has already been registered
            if (_contextTypes.Contains(dataModelProvider.ContextType))
            {
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, DynamicDataResources.MetaModel_ContextAlreadyRegistered, dataModelProvider.ContextType.FullName));
            }

            try {
                IEnumerable <TableProvider> tableProviders = dataModelProvider.Tables;

                // create and validate model
                var tablesToInitialize = new List <MetaTable>();
                foreach (TableProvider tableProvider in tableProviders)
                {
                    RegisterMetadataTypeDescriptionProvider(tableProvider, configuration.MetadataProviderFactory);

                    MetaTable table = CreateTable(tableProvider);
                    table.CreateColumns();

                    var    tableNameAttribute = tableProvider.Attributes.OfType <TableNameAttribute>().SingleOrDefault();
                    string nameOverride       = tableNameAttribute != null ? tableNameAttribute.Name : null;
                    table.SetScaffoldAndName(configuration.ScaffoldAllTables, nameOverride);

                    CheckTableNameConflict(table, nameOverride, tablesToInitialize);

                    tablesToInitialize.Add(table);
                }

                _contextTypes.Add(dataModelProvider.ContextType);

                if (_registerGlobally)
                {
                    MetaModelManager.AddModel(dataModelProvider.ContextType, this);
                }

                foreach (MetaTable table in tablesToInitialize)
                {
                    AddTable(table);
                }
                // perform initialization at the very end to ensure all references will be properly registered
                foreach (MetaTable table in tablesToInitialize)
                {
                    table.Initialize();
                }
            }
            catch (Exception e) {
                if (_registerGlobally)
                {
                    s_registrationException = e;
                }
                throw;
            }
        }
Example #17
0
 public void RegisterContext(DataModelProvider dataModelProvider)
 {
     RegisterContext(dataModelProvider, null);
 }
Example #18
0
 public static void RegisterContext(DataModelProvider model, ContextConfiguration config)
 {
     RegisterContext(model, config, true);
 }