public Task SendIssueCreatedAsync(IssueCreatedEventArgs args) { if (args == null) { throw new ArgumentNullException("args"); } _logger.Information("Posting IssueCreated event to service bus."); var userProperties = new Dictionary <string, object>(); userProperties["Title"] = args.Title; userProperties["Description"] = args.Description; userProperties["RemedyStatus"] = args.RemedyStatus; userProperties["RequestorGivenName"] = args.RequestorGivenName; userProperties["RequestorSurnName"] = args.RequestorSurnName; userProperties["RequestorDisplayName"] = args.RequestorDisplayName; userProperties["RequestorTelephone"] = args.RequestorTelephone; userProperties["RequestorEmail"] = args.RequestorEmail; userProperties["ReferenceId"] = args.ReferenceId; userProperties["AssigneeEmail"] = args.AssigneeEmail; userProperties["AssigneeGroup"] = args.AssigneeGroup; userProperties["CreatedDate"] = args.CreatedDate; userProperties["Urgency"] = args.Urgency; return(_messageSender.SendMessageAsync(ISSUE_CREATED, userProperties)); }
private async Task ReceiveIssueCreated(Ideas.Shared.ServiceBus.Message msg, CancellationToken token, Func <IssueCreatedEventArgs, CancellationToken, Task> issueCreatedHandler) { // TODO: add logging and error handling var args = new IssueCreatedEventArgs(); if (msg.MessageProperties.ContainsKey("Title")) { args.Title = msg.MessageProperties["Title"] as string; } if (msg.MessageProperties.ContainsKey("Description")) { args.Description = msg.MessageProperties["Description"] as string; } if (msg.MessageProperties.ContainsKey("RemedyStatus")) { args.RemedyStatus = msg.MessageProperties["RemedyStatus"] as string; } if (msg.MessageProperties.ContainsKey("ReferenceId")) { args.ReferenceId = msg.MessageProperties["ReferenceId"] as string; } if (msg.MessageProperties.ContainsKey("AssigneeEmail")) { args.AssigneeEmail = msg.MessageProperties["AssigneeEmail"] as string; } if (msg.MessageProperties.ContainsKey("AssigneeGroup")) { args.AssigneeGroup = msg.MessageProperties["AssigneeGroup"] as string; } if (msg.MessageProperties.ContainsKey("RequestorEmail")) { args.RequestorEmail = msg.MessageProperties["RequestorEmail"] as string; } if (msg.MessageProperties.ContainsKey("RequestorTelephone")) { args.RequestorTelephone = msg.MessageProperties["RequestorTelephone"] as string; } if (msg.MessageProperties.ContainsKey("RequestorGivenName")) { args.RequestorGivenName = msg.MessageProperties["RequestorGivenName"] as string; } if (msg.MessageProperties.ContainsKey("RequestorSurnName")) { args.RequestorSurnName = msg.MessageProperties["RequestorSurnName"] as string; } if (msg.MessageProperties.ContainsKey("RequestorDisplayName")) { args.RequestorDisplayName = msg.MessageProperties["RequestorDisplayName"] as string; } if (msg.MessageProperties.ContainsKey("Urgency")) { args.Urgency = msg.MessageProperties["Urgency"] as string; } var createdDate = await GetMessageProperty <DateTime>(msg, propertyName : nameof(IssueCreatedEventArgs.CreatedDate)); args.CreatedDate = createdDate.Item; await issueCreatedHandler(args, token); }