public MassTransitMongoDbConventions(ConventionFilter filter = default(ConventionFilter))
        {
            var conventionFilter = filter ?? IsMassTransitClass;

            var convention = new ConventionPack
            {
                new CamelCaseElementNameConvention(),
                new IgnoreExtraElementsConvention(true),
                new SagaConvention(),
                new MemberDefaultValueConvention(typeof(Guid), Guid.Empty)
            };

            ConventionRegistry.Register("MassTransitConventions", convention, type => conventionFilter(type));

            RegisterClass <RoutingSlipDocument>(x => x.TrackingNumber);
            RegisterClass <ExceptionInfoDocument>();
            RegisterClass <ActivityExceptionDocument>();
            RegisterClass <HostDocument>();
            RegisterClass <RoutingSlipEventDocument>();
            RegisterClass <RoutingSlipActivityCompensatedDocument>();
            RegisterClass <RoutingSlipActivityCompensationFailedDocument>();
            RegisterClass <RoutingSlipActivityCompletedDocument>();
            RegisterClass <RoutingSlipActivityFaultedDocument>();
            RegisterClass <RoutingSlipCompensationFailedDocument>();
            RegisterClass <RoutingSlipCompletedDocument>();
            RegisterClass <RoutingSlipFaultedDocument>();
            RegisterClass <RoutingSlipRevisedDocument>();
            RegisterClass <RoutingSlipTerminatedDocument>();
        }
Exemplo n.º 2
0
        public bool IsMatch(string propertyName, Type type)
        {
            switch (ConventionFilterType)
            {
            case ConventionFilterType.StartsWith:
                if (type == Type && propertyName.ToLowerInvariant().StartsWith(ConventionFilter.ToLowerInvariant()))
                {
                    return(true);
                }

                break;

            case ConventionFilterType.EndsWith:
                if (type == Type && propertyName.ToLowerInvariant().EndsWith(ConventionFilter.ToLowerInvariant()))
                {
                    return(true);
                }

                break;

            case ConventionFilterType.Equals:
                if (type == Type && propertyName.ToLowerInvariant() == ConventionFilter.ToLowerInvariant())
                {
                    return(true);
                }

                break;

            default:
                if (type == Type && propertyName.ToLowerInvariant().Contains(ConventionFilter.ToLowerInvariant()))
                {
                    return(true);
                }

                break;
            }

            return(false);
        }