Example #1
0
        private static void ProcessCommonAttributes(MemberInfo typeInfo, SchemaExtension schema)
        {
            var inExchangeAttr = typeInfo.GetCustomAttribute <ExchangeInAttribute>();

            if (inExchangeAttr != null)
            {
                if (inExchangeAttr.Name != null)
                {
                    schema.ExchangeIn = inExchangeAttr.Name;
                }
                schema.ExchangeInType = inExchangeAttr.Type;
            }

            var outExchangeAttr = typeInfo.GetCustomAttribute <ExchangeOutAttribute>();

            if (outExchangeAttr != null)
            {
                if (outExchangeAttr.Name != null)
                {
                    schema.ExchangeIn = outExchangeAttr.Name;
                }
                schema.ExchangeInType = outExchangeAttr.Type;
            }
            var rkAttr = typeInfo.GetCustomAttribute <RoutingKeyAttribute>();

            if (rkAttr != null)
            {
                schema.RoutingKey = rkAttr.Key;
            }
        }
Example #2
0
        private static void WriteCommonAttributes(IndentWriter writer, SchemaExtension serviceExt)
        {
            if (serviceExt.ExchangeIn.IsSome && serviceExt.ExchangeInType.IsSome)
            {
                writer.WriteLine(
                    $"[ExchangeIn(ExchangeType.{serviceExt.ExchangeInType.Unwrap()}, \"{serviceExt.ExchangeIn.Unwrap()}\")]");
            }
            else if (serviceExt.ExchangeIn.IsSome)
            {
                writer.WriteLine($"[ExchangeIn(name = \"{serviceExt.ExchangeIn.Unwrap()}\")]");
            }
            else if (serviceExt.ExchangeInType.IsSome)
            {
                writer.WriteLine($"[ExchangeIn(ExchangeType.{serviceExt.ExchangeInType.Unwrap()})]");
            }
            if (serviceExt.ExchangeIn.IsSome && serviceExt.ExchangeOutType.IsSome)
            {
                writer.WriteLine(
                    $"[ExchangeIn(ExchangeType.{serviceExt.ExchangeOutType.Unwrap()}, \"{serviceExt.ExchangeOut.Unwrap()}\")]");
            }
            else if (serviceExt.ExchangeOut.IsSome)
            {
                writer.WriteLine($"[ExchangeIn(name = \"{serviceExt.ExchangeOut.Unwrap()}\")]");
            }
            else if (serviceExt.ExchangeOutType.IsSome)
            {
                writer.WriteLine($"[ExchangeIn(ExchangeType.{serviceExt.ExchangeOutType.Unwrap()})]");
            }

            serviceExt.RoutingKey.IfSome(p => writer.WriteLine($"[RoutingKey(\"{p}\")]"));
        }