public static void Main(string[] args)
        {
            var configurationBuilder = new ConfigurationBuilder()
                                       .SetBasePath(Directory.GetCurrentDirectory())
                                       .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = configurationBuilder.Build();

            // License Aspose.Cells
            string asposeLicense = configuration["AsposeLicence"];

            if (!string.IsNullOrEmpty(asposeLicense))
            {
                using (MemoryStream ms =
                           new MemoryStream(Encoding.UTF8.GetBytes(asposeLicense.Replace("&lt;", "<").Replace("&gt;", ">"))))
                {
                    new License().SetLicense(ms);
                }
            }

            // Setup Autofac
            ContainerBuilder       builder           = DIComposition.BuildNewContainer();
            ConfigurationRootModel configurationRoot = new ConfigurationRootModel
            {
                azureBlobStorageOptions = new AzureStorageOptions
                {
                    AzureBlobConnectionString = configuration["AzureBlobConnectionString"],
                    AzureBlobContainerName    = configuration["AzureBlobContainerName"]
                },
                reportServiceConfiguration = new ReportServiceConfiguration
                {
                    DASPaymentsConnectionString      = configuration["DASPaymentsConnectionString"],
                    ILR1920DataStoreConnectionString = configuration["ILR1920DataStoreConnectionString"],
                    ILR2021DataStoreConnectionString = configuration["ILR2021DataStoreConnectionString"],
                },
                versionInfo = new VersionInfo
                {
                    ServiceReleaseVersion = "1.0"
                }
            };

            DIComposition.BuildContainer(builder, configurationRoot);
            DIComposition.BuildStorageFileSystem(builder, configurationRoot.azureBlobStorageOptions,
                                                 new FileSystemService(@"C:\Temp\"));

            IReportServiceContext reportServiceContext = new ConsoleReportServiceContext
            {
                JobId                 = -1,
                Container             = configurationRoot.azureBlobStorageOptions.AzureBlobContainerName,
                CollectionYear        = "1920",
                CollectionName        = "PE-DAS-AppsInternalDataMatchMonthEndReport1920",
                ReturnPeriod          = 3,
                ILRPeriods            = GetIlrPeriods(),
                IsIlrSubmission       = false,
                SubmissionDateTimeUtc = DateTime.UtcNow,
                Tasks                 = new List <string>
                {
                    ReportTaskNameConstants.InternalDataMatchReport
                },
                Ukprn = 0
            };

            builder.Register(c => new ApplicationLoggerSettings
            {
                ApplicationLoggerOutputSettingsCollection = new List <IApplicationLoggerOutputSettings>
                {
                    new ConsoleApplicationLoggerOutputSettings
                    {
                        MinimumLogLevel = LogLevel.Verbose
                    }
                } as IList <IApplicationLoggerOutputSettings>
            }).As <IApplicationLoggerSettings>().SingleInstance();
            builder.RegisterType <ExecutionContext>().As <IExecutionContext>().InstancePerLifetimeScope();
            builder.RegisterType <SerilogLoggerFactory>().As <ISerilogLoggerFactory>().InstancePerLifetimeScope();
            builder.RegisterType <SeriLogger>().As <ILogger>().InstancePerLifetimeScope();

            using (var container = builder.Build())
            {
                IHandler handler = container.Resolve <IHandler>();
                bool     res     = handler.HandleAsync(reportServiceContext, CancellationToken.None).Result;
                System.Console.WriteLine($"Finished - {res}");
            }
        }