public ImportResponse ImportMessages(string messageSourceDirectory) { var importedMessagesCount = 0; IEnumerable <Message> unimportedMessages = null; List <Message> messagesToImport = null; try { messagesToImport = _fileService.GetFilesFromDirectory(messageSourceDirectory); if (messagesToImport.Count > 0) { foreach (var messageToImport in messagesToImport.OrderBy(m => m.MessageRecordingDate)) { ImportMessage(messageToImport); } importedMessagesCount = messagesToImport.Count(m => m.Imported); unimportedMessages = messagesToImport.Where(m => m.Imported == false); } return(new ImportResponse() { SuccessMessage = GetSuccessMessage(importedMessagesCount), ErrorMessage = GetErrorMessage(unimportedMessages), IsError = IsError(unimportedMessages), MessagesUnableToImport = GetMessagesUnableToImport(unimportedMessages) }); } catch (Exception ex) { return(new ImportResponse() { IsError = true, ErrorMessage = string.Format("There was a problem importing the {1}: {0}", ex.Message, _languageHelper.NumberizeText("message", messagesToImport.Count)) }); } }