public Dictionary <IMapSpreadsheetImport, IEnumerable <IRecord> > LoadMappingDictionary(ImportExcelRequest request)
        {
            var excelService = new ExcelRecordService(request.ExcelFile);

            var dictionary = new Dictionary <IMapSpreadsheetImport, IEnumerable <IRecord> >();

            foreach (var tabMapping in request.Mappings)
            {
                if (tabMapping.TargetType != null)
                {
                    var queryRows = excelService.RetrieveAll(tabMapping.SourceTab.Key, null);
                    dictionary.Add(tabMapping, queryRows);
                }
            }

            return(dictionary);
        }
        public Dictionary <IMapSpreadsheetImport, IEnumerable <IRecord> > LoadMappingDictionary(ImportExcelRequest request, LogController logController)
        {
            var excelService = new ExcelRecordService(request.ExcelFile);

            var dictionary = new Dictionary <IMapSpreadsheetImport, IEnumerable <IRecord> >();

            var toIterate = request.Mappings.Where(tm => tm.TargetType != null).ToArray();
            var countToDo = toIterate.Count();
            var countDone = 0;

            foreach (var tabMapping in toIterate)
            {
                logController.LogLiteral($"Reading Sheet {++countDone}/{countToDo} {tabMapping.SourceTab.Key}");
                var queryRows = excelService.RetrieveAll(tabMapping.SourceTab.Key, null);
                dictionary.Add(tabMapping, queryRows);
            }

            return(dictionary);
        }