public async Task<ActionResult> Export()
        {
            var userId = GetUserId();
            var context = this.DbContext;

            var filters = context.Filters
                .Include(o => o.FilterProperties)
                .Where(o => o.UserId == userId)
                .ToArray();

            if (!filters.Any())
                return RedirectToAction("Index");

            var filterComponent = new MessageFilterComponent();

            var document = filterComponent.ToXml(filters);

            var stream = new System.IO.MemoryStream();
            using (var writer = System.Xml.XmlWriter.Create(stream, new System.Xml.XmlWriterSettings
            {
                OmitXmlDeclaration = false,
                Indent = true
            }))
            {
                document.WriteTo(writer);
            }
            stream.Position = 0;

            await Task.Run(() => new TelemetryClient().TrackEvent("ExportFilter"));

            return File(stream, "text/xml", string.Format("Export_{0}.xml", DateTime.UtcNow.ToFileTime()));
        }