예제 #1
0
        /// <summary>
        /// Map a entity with a context builder.
        /// </summary>
        /// <typeparam name="TEntity">Type of entity.</typeparam>
        /// <param name="builder">Entity context builder.</param>
        public void MapContext <TEntity>(IEntityContextBuilder builder)
            where TEntity : class, IEntity, new()
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }
            Type type = typeof(TEntity);

            if (_Context.ContainsKey(type))
            {
                _Context.Remove(type);
            }
            if (_Map.ContainsKey(type))
            {
                _Map[type] = builder;
            }
            else
            {
                _Map.Add(type, builder);
            }
            if (!_Types.Contains(type))
            {
                _Types.Add(type);
            }
        }
예제 #2
0
 /// <summary>
 /// Initialize entity controller.
 /// </summary>
 /// <param name="builder">Context builder of entity.</param>
 public EntityController(IEntityContextBuilder builder)
     : base(builder)
 {
     EntityQueryable = EntityBuilder.GetContext <TEntity>();
     Metadata        = EntityAnalyzer.GetMetadata <TEntity>();
     PageSize        = EntityViewModel.DefaultPageSizeOption;
 }
예제 #3
0
 /// <summary>
 /// Map entities with a context builder.
 /// </summary>
 /// <param name="builder">Entity context builder.</param>
 public void MapContext(IEntityContextBuilder builder)
 {
     if (builder == null)
     {
         throw new ArgumentNullException("builder");
     }
     foreach (var type in builder.EntityTypes)
     {
         if (_Context.ContainsKey(type))
         {
             _Context.Remove(type);
         }
         if (_Map.ContainsKey(type))
         {
             _Map[type] = builder;
         }
         else
         {
             _Map.Add(type, builder);
         }
         if (!_Types.Contains(type))
         {
             _Types.Add(type);
         }
     }
 }
예제 #4
0
        private IRoleEntity EntityResolve(Type entityType, string username)
        {
            IEntityContextBuilder builder = _container.Resolve <IEntityContextBuilder>();
            dynamic context = builder.GetContext(entityType);

            return(context.GetEntity(new Guid(username)));
        }
예제 #5
0
 /// <summary>
 /// Initialize entity descriptor context.
 /// </summary>
 /// <param name="builder">Entity context builder.</param>
 public EntityDescriptorContext(IEntityContextBuilder builder)
 {
     if (builder == null)
     {
         throw new ArgumentNullException("builder");
     }
     _Builder = builder;
 }
예제 #6
0
 public EntityController(IEntityContextBuilder builder)
 {
     if (builder == null)
     {
         throw new ArgumentNullException("builder");
     }
     EntityBuilder = builder;
 }
예제 #7
0
 public static DbContext GetContext(IEntityContextBuilder builder)
 {
     if (builder == null)
         throw new ArgumentNullException("builder");
     if (builder is EntityContextBuilder)
         return ((EntityContextBuilder)builder).DbContext;
     return null;
 }
예제 #8
0
 /// <summary>
 /// Initialize entity controller.
 /// </summary>
 /// <param name="builder">Context builder of entity.</param>
 public EntityController(IEntityContextBuilder builder)
     : base(builder)
 {
     EntityQueryable = EntityContext = EntityBuilder.GetContext <TEntity>();
     Metadata        = EntityAnalyzer.GetMetadata <TEntity>();
     PageSize        = Pagination.DefaultPageSizeOption;
     Untils          = new EntityControllerUnitils <TEntity>(this, builder);
     Untils.PageSize = PageSize;
 }
예제 #9
0
 public EntityController(IEntityContextBuilder builder)
 {
     if (builder == null)
     {
         throw new ArgumentNullException("builder");
     }
     EntityBuilder   = builder;
     EntityQueryable = EntityBuilder.GetContext <TEntity>();
     Metadata        = EntityAnalyzer.GetMetadata <TEntity>();
 }
예제 #10
0
 /// <summary>
 /// Initialize with main builder.
 /// </summary>
 /// <param name="mainBuilder"></param>
 public MixedEntityContextBuilder(IEntityContextBuilder mainBuilder)
 {
     _Map              = new Dictionary <Type, IEntityContextBuilder>();
     _Context          = new Dictionary <Type, object>();
     _Types            = new List <Type>();
     MainBuilder       = mainBuilder;
     DescriptorContext = new EntityDescriptorContext(this);
     if (mainBuilder != null)
     {
         _Types.AddRange(mainBuilder.EntityTypes);
     }
 }
예제 #11
0
 /// <summary>
 /// Get database context from a context builder.
 /// </summary>
 /// <param name="builder">Entity context builder.</param>
 /// <returns></returns>
 public static DbContext GetContext(IEntityContextBuilder builder)
 {
     if (builder == null)
     {
         throw new ArgumentNullException("builder");
     }
     if (builder is EntityContextBuilder)
     {
         return(((EntityContextBuilder)builder).DbContext);
     }
     return(null);
 }
예제 #12
0
        public override void EndInit()
        {
            base.EndInit();
            _OriginList    = ((IEnumerable)OriginValue).Cast <IEntity>().ToList();
            _CurrentList   = new ObservableCollection <IEntity>(_OriginList);
            _AddList       = new List <IEntity>();
            _RemoveList    = new List <IEntity>();
            CurrentValue   = _CurrentList;
            Editor.Saving += Editor_Saving;
            IEntityContextBuilder builder = EntityResolver.Current.Resolve <IEntityContextBuilder>();

            _EntityQueryable = builder.GetContext(Metadata.ClrType.GetGenericArguments()[0]);
        }
예제 #13
0
 public AdminController(IEntityContextBuilder builder) : base(builder)
 {
 }
예제 #14
0
 public HomeController(IEntityContextBuilder builder) : base(builder)
 {
 }
 public DepartmentController(IEntityContextBuilder builder) : base(builder)
 {
 }
예제 #16
0
 public MemberController(IEntityContextBuilder builder) : base(builder)
 {
 }
예제 #17
0
 public AccountController(IEntityContextBuilder builder) : base(builder) { }
예제 #18
0
 /// <summary>
 /// Initialize entity descriptor context.
 /// </summary>
 /// <param name="builder">Entity context builder.</param>
 public EntityDescriptorContext(IEntityContextBuilder builder)
 {
     if (builder == null)
         throw new ArgumentNullException("builder");
     _Builder = builder;
 }
예제 #19
0
 /// <summary>
 /// Initialize entity controller.
 /// </summary>
 /// <param name="builder">Context builder of entity.</param>
 public EntityController(IEntityContextBuilder builder)
 {
     if (builder == null)
         throw new ArgumentNullException("builder");
     EntityBuilder = builder;
 }
예제 #20
0
 public AccountController(IEntityContextBuilder builder) : base(builder)
 {
 }