Exemple #1
0
 public MessageEventArgs(IStandardMessage message, IServer server, IChannel channel, IUser user)
 {
     Message = message;
     Server  = server;
     Channel = channel;
     User    = user;
 }
Exemple #2
0
        public TextCommand(IStandardMessage message)
        {
            var splitMsg = message.Message.Split(' ');

            Command     = splitMsg[0].TrimStart(Settings.Default.CommandPrefix.ToCharArray()).Trim('\n', ' ');
            Arguments   = splitMsg.Length > 1 ? splitMsg.Skip(1).ToList() : new List <string>();
            Attachments = message.Attachments;
        }
Exemple #3
0
    public Message Translate(IStandardMessage message)
    {
        var body = GetBodyBytes(message);

        var result = new Message()
        {
            Body       = body,
            RoutingKey = message.GetRoutingKey(),
            Headers    = message.GetHeaders()
        };

        return(result);
    }
Exemple #4
0
 public Task <IStandardMessage> ProcessTextMessage(IStandardMessage message)
 {
     return(null);
 }
Exemple #5
0
        public async Task ConsumeServiceBus()
        {
            var managementClient = new ManagementClient(connectionString);
            var queue            = await managementClient.GetQueueRuntimeInfoAsync(QueName);

            var x = (int)queue.MessageCount;

            var receiver = new MessageReceiver(connectionString, QueName, ReceiveMode.ReceiveAndDelete,
                                               RetryPolicy.NoRetry, x);

            IList <Message> messagesFromSrvcBus = await receiver.ReceiveAsync(x);

            for (var i = 0; i < x; i++)
            {
                string msgContent = Encoding.UTF8.GetString(messagesFromSrvcBus[i].Body);

                IStandardMessage strdMsg = JsonConvert.DeserializeObject <IStandardMessage>(msgContent);

                Topic             tpc;
                CommentEasyAccess cmtEa;
                await receiver.CloseAsync();

                if (strdMsg.Action == "created")
                {
                    IStandardInstance strdInstance = JsonConvert.DeserializeObject <IStandardInstance>(msgContent);

                    tpc = mapx.ConvertToTopic(strdInstance);

                    var values = new Dictionary <string, string>
                    {
                        { "title", tpc.Title },
                        { "qguid", tpc.QGuid },
                        { "projectId", tpc.ProjectId },
                        { "AuthorName", tpc.AuthorName },
                        { "AuthorEmail", tpc.AuthorEmail },
                        { "CreationDate", tpc.CreationDate }
                    };
                    var client = new HttpClient();
                    client.BaseAddress = new Uri("https://topics.quadridcm.com/api/");
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    var content  = new FormUrlEncodedContent(values);
                    var response = await client.PostAsync("projects/" + tpc.ProjectId + "/topics", content);
                }
                else if (strdMsg.Action == "updated")
                {
                    IStandardInstance strdInstance = JsonConvert.DeserializeObject <IStandardInstance>(msgContent);

                    tpc = mapx.ConvertToTopic(strdInstance);

                    var values = new Dictionary <string, string>
                    {
                        { "title", tpc.Title },
                        { "qguid", tpc.QGuid },
                        { "id", tpc.Id },
                        { "projectId", tpc.ProjectId },
                        { "AuthorName", tpc.AuthorName },
                        { "AuthorEmail", tpc.AuthorEmail },
                        { "CreationDate", tpc.CreationDate }
                    };
                    var client = new HttpClient();
                    client.BaseAddress = new Uri("https://topics.quadridcm.com/api/");
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    var content  = new FormUrlEncodedContent(values);
                    var response = await client.PutAsync("projects/" + tpc.ProjectId + "/topics/" + tpc.Id, content);
                }
                else if (strdMsg.Action == "commented")
                {
                    IstandardComment strdComment = JsonConvert.DeserializeObject <IstandardComment>(msgContent);


                    cmtEa = mapx.ConvertCommentEasyAccess(strdComment);

                    var values = new Dictionary <string, string>
                    {
                        { "topicGuid", cmtEa.Id },
                        { "projectId", cmtEa.ProjectId },
                        { "content", cmtEa.Content },
                        { "date", cmtEa.Date },
                    };
                    var client = new HttpClient();
                    client.BaseAddress = new Uri("https://topics.quadridcm.com/api/");
                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                    var content  = new FormUrlEncodedContent(values);
                    var response = await client.PostAsync("projects/" + cmtEa.ProjectId + "/topics/" + cmtEa.Id + "/comments", content);
                }
            }
        }