public async Task <byte[]> GenerateTemplateAsync(Ignite.API.Common.UXO.UXO uxo)
        {
            var tempDirectory     = Path.GetTempPath();
            var documentDirectory = Path.Combine(tempDirectory, "IgniteDemo\\UXO");
            var outputFile        = Path.Combine(documentDirectory, $"{Guid.NewGuid()}.docx");

            byte[] uploadedDocument = null;

            try
            {
                if (!Directory.Exists(documentDirectory))
                {
                    Directory.CreateDirectory(documentDirectory);
                }
                File.Copy(TemplateFile, outputFile);

                if (File.Exists(outputFile))
                {
                    var fieldReplacements = GetMappings(uxo);
                    using (var wordDoc = WordprocessingDocument.Open(outputFile, true))
                    {
                        var fields = wordDoc.MainDocumentPart.RootElement.Descendants <FieldCode>().ToList();
                        foreach (var replacement in fieldReplacements.Keys)
                        {
                            ReplaceMergeFieldWithText(fields, replacement, fieldReplacements[replacement]);
                        }
                        wordDoc.Save();
                    }
                }
                uploadedDocument = await UploadToBlobAsync(outputFile);
            }
            finally
            {
                if (File.Exists(outputFile))
                {
                    File.Delete(outputFile);
                }
            }
            return(uploadedDocument);
        }