Ejemplo n.º 1
0
        public async Task Consume(ConsumeContext <GetDefaultTemplateRequest> context)
        {
            using (_logger.BeginScope("Retrieve default template for key {templateKindKey}",
                                      context.Message.TemplateKindKey))
            {
                var defaultTemplate = default(Template);

                try
                {
                    defaultTemplate = await _templateManager.GetDefaultTemplate(context.Message.TemplateKindKey,
                                                                                context.CancellationToken);

                    _logger.LogDebug("For kind {templateKindKey} default template is {templateId} and version is {templateVersionId}",
                                     context.Message.TemplateKindKey, defaultTemplate.TemplateId, defaultTemplate.ActiveVersion?.TemplateVersionId);

                    await context.RespondAsync(new DefaultTemplateResponse(
                                                   defaultTemplate.TemplateId,
                                                   defaultTemplate.ActiveVersion?.TemplateVersionId ?? Guid.Empty));
                }
                catch (TemplateKindNotFoundException e)
                {
                    _logger.LogError("Template kind with key {templateKindKey} was not found.",
                                     context.Message.TemplateKindKey);

                    await context.RespondAsync(new DefaultTemplateResponse(Guid.Empty, Guid.Empty));
                }
                catch (TemplateNotFoundException e)
                {
                    _logger.LogError("Default template for kind {templateKindKey} was not found.",
                                     context.Message.TemplateKindKey);

                    await context.RespondAsync(new DefaultTemplateResponse(Guid.Empty, Guid.Empty));
                }
            }
        }
Ejemplo n.º 2
0
 public Task <IActionResult> GetDefaultTemplate([FromRoute] string templateKindKey, CancellationToken cancellationToken)
 {
     return(SafeInvoke(async() =>
     {
         return Ok(_mapper.Map <TemplateDetails>(await _templateManager.GetDefaultTemplate(templateKindKey, cancellationToken)));
     }));
 }