コード例 #1
0
        static async Task <bool> PostTaskStatusEvent(TaskStatusEvent message)
        {
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // This calls a Fenetre Servicing Shell Test Harness but it can call any Web API that you decide will contain the logic to handle this event
            HttpResponseMessage response = await client.PostAsJsonAsync("api/serviceHubEvent", message);

            var result = response.IsSuccessStatusCode;

            return(result);
        }
コード例 #2
0
        public async Task <IActionResult> Post([FromBody] TaskStatusEvent taskStatusEvent)
        {
            await this._hubContext.Clients.All.SendAsync(
                "gridupdate",
                sequenceNumber ++,
                taskStatusEvent.TaskId,
                taskStatusEvent.Status,
                taskStatusEvent.StatusChangedBy,
                taskStatusEvent.StatusChangedOn,
                JsonConvert.SerializeObject(taskStatusEvent, Formatting.Indented)
                );

            return(Ok());
        }
コード例 #3
0
        static TaskStatusEvent GetTaskStatusEvent(Message message)
        {
            var taskStatusEvent = new TaskStatusEvent();

            // You would normally do something like DeserializeObject into TaskStatusEvent
            // but at this point in time Service Hub is sending out a message within a message by mistake and I don't really want to bother
            // adding these four MessageWrapper classes that wrap the TaskStatusEvent into this project so use dynamic temporarily until I get them to change their code

            var messageBody  = Encoding.UTF8.GetString(message.Body);
            var innerMessage = JsonConvert.DeserializeObject <Message <TaskStatusEvent> >(messageBody);
            var entityBody   = innerMessage.EntityBody;

            taskStatusEvent.TaskId             = entityBody.TaskId;
            taskStatusEvent.TaskTemplate       = entityBody.TaskTemplate;
            taskStatusEvent.StatusId           = entityBody.StatusId;
            taskStatusEvent.Status             = entityBody.Status;
            taskStatusEvent.StatusChangedBy    = entityBody.StatusChangedBy;
            taskStatusEvent.StatusChangedOn    = entityBody.StatusChangedOn;
            taskStatusEvent.StatusChangeReason = entityBody.StatusChangeReason;
            taskStatusEvent.Comments           = entityBody.Comments;
            taskStatusEvent.AdditionalDetails  = entityBody.AdditionalDetails;
            return(taskStatusEvent);
        }