예제 #1
0
        /// <inheritdoc />
        public async Task <CredentialRecord> ProcessAcknowledgementMessageAsync(IAgentContext agentContext,
                                                                                CredentialAcknowledgeMessage credentialAcknowledgeMessage)
        {
            var credentialRecord = await this.GetByThreadIdAsync(agentContext, credentialAcknowledgeMessage.GetThreadId());

            EventAggregator.Publish(new ServiceMessageProcessingEvent
            {
                RecordId    = credentialRecord.Id,
                MessageType = credentialAcknowledgeMessage.Type,
                ThreadId    = credentialAcknowledgeMessage.GetThreadId()
            });

            return(credentialRecord);
        }
예제 #2
0
        /// <inheritdoc />
        public async Task <CredentialAcknowledgeMessage> CreateAcknowledgementMessageAsync(IAgentContext agentContext, string credentialRecordId,
                                                                                           string status = AcknowledgementStatusConstants.Ok)
        {
            var record = await GetAsync(agentContext, credentialRecordId);

            var threadId           = record.GetTag(TagConstants.LastThreadId);
            var acknowledgeMessage = new CredentialAcknowledgeMessage(agentContext.UseMessageTypesHttps)
            {
                Id     = threadId,
                Status = status
            };

            acknowledgeMessage.ThreadFrom(threadId);

            return(acknowledgeMessage);
        }