/// <summary>
 /// Initializes a new instance of the <see cref="GetEntityByIdAuthorizationDecorator{T}"/> class.
 /// </summary>
 /// <param name="next">The decorated instance for which authorization is being performed.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationFilteringProvider"></param>
 /// <param name="authorizationFilterDefinitionProvider"></param>
 /// <param name="explicitObjectValidators"></param>
 /// <param name="authorizationBasisMetadataSelector"></param>
 /// <param name="securityRepository"></param>
 /// <param name="sessionFactory"></param>
 /// <param name="apiKeyContextProvider"></param>
 /// <param name="viewBasedSingleItemAuthorizationQuerySupport"></param>
 public GetEntityByIdAuthorizationDecorator(
     IGetEntityById <T> next,
     IAuthorizationContextProvider authorizationContextProvider,
     IAuthorizationFilteringProvider authorizationFilteringProvider,
     IAuthorizationFilterDefinitionProvider authorizationFilterDefinitionProvider,
     IExplicitObjectValidator[] explicitObjectValidators,
     IAuthorizationBasisMetadataSelector authorizationBasisMetadataSelector,
     ISecurityRepository securityRepository,
     ISessionFactory sessionFactory,
     IApiKeyContextProvider apiKeyContextProvider,
     IViewBasedSingleItemAuthorizationQuerySupport viewBasedSingleItemAuthorizationQuerySupport)
     : base(
         authorizationContextProvider,
         authorizationFilteringProvider,
         authorizationFilterDefinitionProvider,
         explicitObjectValidators,
         authorizationBasisMetadataSelector,
         securityRepository,
         sessionFactory,
         apiKeyContextProvider,
         viewBasedSingleItemAuthorizationQuerySupport)
 {
     _next = next;
     _viewBasedSingleItemAuthorizationQuerySupport = viewBasedSingleItemAuthorizationQuerySupport;
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetEntityByIdAuthorizationDecorator{T}"/> class.
 /// </summary>
 /// <param name="next">The decorated instance for which authorization is being performed.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationProvider">The component capable of authorizing the request, given necessary context.</param>
 public GetEntityByIdAuthorizationDecorator(
     IGetEntityById <T> next,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next = next;
 }
예제 #3
0
 public UpsertEntity(
     ISessionFactory sessionFactory,
     IGetEntityById <TEntity> getEntityById,
     IGetEntityByKey <TEntity> getEntityByKey,
     ICreateEntity <TEntity> createEntity,
     IUpdateEntity <TEntity> updateEntity)
     : base(sessionFactory)
 {
     _getEntityById  = getEntityById;
     _getEntityByKey = getEntityByKey;
     _createEntity   = createEntity;
     _updateEntity   = updateEntity;
 }
예제 #4
0
 public static void GetEntityById(IGetEntityById <TEntity> msg)
 {
     try
     {
         using (var ctx = new TDBContext())
         {
             var p = ctx.Set <TDBEntity>().AsNoTracking().First(x => x.Id == msg.EntityId);
             EventMessageBus.Current.Publish(new EntityFound <TEntity>((TEntity)(object)p, new StateEventInfo(msg.Process.Id, RevolutionData.Context.Entity.Events.EntityFound), msg.Process, Source), Source);
         }
     }
     catch (Exception ex)
     {
         PublishProcesError(msg, ex, typeof(IEntityFound <TEntity>));
     }
 }
예제 #5
0
 public DeleteEntityById(ISessionFactory sessionFactory, IGetEntityById <TEntity> getEntityById, IETagProvider eTagProvider)
     : base(sessionFactory, eTagProvider)
 {
     _getEntityById = getEntityById;
 }
예제 #6
0
 public GetEntityModelById(IGetEntityById <TEntityModel> repository)
 {
     _repository = repository;
 }
예제 #7
0
 public static void GetEntity <TEntity>(this IGetEntityById <TEntity> msg) where TEntity : class, IEntity
 {
     EF7DataContext <TEntity> .GetEntityById(msg);
 }
예제 #8
0
 public static void GetEntityById(IGetEntityById <TEntity> msg)
 {
     typeof(EntityRepository <, ,>).MakeGenericType(typeof(TEntity), EntityType, ctxType)
     .GetMethod("GetEntityById")
     .Invoke(null, new object[] { msg });
 }