public async Task<ApplicationData> GetApplicationData() { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; return await Task.Factory.StartNew(() => { var applicationData = new ApplicationData(); using ExcelPackage package = fileProcessor.LoadExcelPackageFromFile(); ExcelWorksheet accountsWorksheet = package.Workbook.Worksheets["Accounts"]; if (accountsWorksheet != null) { applicationData.Accounts = ParseAccountsFromExcelWorkSheet(accountsWorksheet); } ExcelWorksheet categoriesWorksheet = package.Workbook.Worksheets["Categories"]; if (accountsWorksheet != null) { applicationData.Categories = ParseCategoriesFromExcelWorkSheet(categoriesWorksheet); } ExcelWorksheet accountTransactionsWorksheet = package.Workbook.Worksheets["Account Transactions"]; if (accountsWorksheet != null) { applicationData.AccountTransactions = ParseAccountTransactionFromExcelWorkSheet(accountTransactionsWorksheet); } return applicationData; }); }