public void Can_create_entity_wrapper()
        {
            var service = Substitute.For <IOrganizationService>();
            var context = Substitute.For <ITransactionContextBase>();

            context.Service.Returns(service);

            var entity = new Entity("xts_nongenericentity")
            {
                Id = Guid.NewGuid()
            };
            var xtsEntity = new xts_entity {
                Id = Guid.NewGuid()
            };

            InstanceEntityWrapper <Entity, TestWrapper> .Create(entity, context);

            InstanceEntityWrapper <xts_entity, TestGenericWrapper <xts_entity> > .Create(xtsEntity, context);

            InstanceEntityWrapper <xts_entity, EntityWrapper <xts_entity> > .Create(xtsEntity, context);

            InstanceEntityWrapper <Entity, TestWrapper> .Create(xtsEntity, context);

            var accessor = new EntityAccessor <Entity>(entity);

            InstanceEntityWrapper <Entity, TestWrapper> .Create(accessor, context);

            var xtsAccessor = new EntityAccessor <xts_entity>(xtsEntity);

            InstanceEntityWrapper <xts_entity, TestGenericWrapper <xts_entity> > .Create(xtsAccessor, context);

            InstanceEntityWrapper <xts_entity, EntityWrapper <xts_entity> > .Create(xtsAccessor, context);

            InstanceEntityWrapper <Entity, TestWrapper> .Create(xtsAccessor, context);
        }
Esempio n. 2
0
        public TW ToWrapper <TE, TW>()
            where TE : Entity
            where TW : class, IEntityWrapper <TE>
        {
            var sameWrapper = this as TW;

            if (sameWrapper != null)
            {
                return(sameWrapper);
            }

            var targetEntity  = Entity.ToEntity <TE>();
            var targetWrapper = InstanceEntityWrapper <TE, TW> .Create(targetEntity, Context);

            return(targetWrapper);
        }
 private TW GetWrapper() => InstanceEntityWrapper <TE, TW> .Create(Context.Current.Entity, Context);
 private EntityWrapper <TE> GetCurrentWrapper()
 => InstanceEntityWrapper <TE, EntityWrapper <TE> > .Create(_transactionContext.Current.Entity, _transactionContext);