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; } }
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}\")]")); }