/// <summary> /// Send request /// </summary> public async Task SendAsync <TRequest>(TRequest model, string name = null) { if (string.IsNullOrWhiteSpace(name)) { name = _endpointNameService.GetName <TRequest>(); } await CapBus.PublishAsync(name, model); }
private CapSubscribeAttribute GetCapSubscribeAttribute(Type requestType, Type handlerType) { string group = null; var name = _nameService.GetName(requestType); var requestAttribute = requestType.GetCustomAttributes(true).OfType <IOverrideSubscribe>().FirstOrDefault(); if (requestAttribute != null) { if (requestAttribute.TryGetName(out var overName)) { name = overName; } if (requestAttribute.TryGetGroup(out var overGroup)) { group = overGroup; } } // Handler attribute overrides request attribute var handlerAttribute = handlerType.GetCustomAttributes(true).OfType <IOverrideSubscribe>().FirstOrDefault(); if (handlerAttribute != null) { if (handlerAttribute.TryGetName(out var overName)) { name = overName; } if (handlerAttribute.TryGetGroup(out var overGroup)) { group = overGroup; } } return(new CapSubscribeAttribute(name) { Group = group }); }