public void RunApplication(string filePath) { var fileMetadata = _fileService.GenerateFileMetadata(filePath); var fileContent = _fileService.LoadFile(filePath); Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(_configurationSettingProvider.DefaultCulture); if (fileMetadata == null || fileContent == null) { return; } IsFileAccessible = true; var rawContactList = _fileService.ArrangeLineItems(fileContent); if (rawContactList == null) { return; } IsFileSorted = true; var contacts = rawContactList.Select(rawContact => _contactService.LoadRawContact(rawContact)).ToList(); var arrangedRawContacts = _contactService.ArrangeContact(contacts); var arrangedContacts = arrangedRawContacts.Select(rawContacts => _contactService.LoadContact(rawContacts)).ToList(); IsContactConstructed = true; var newFileName = _fileService.WriteFile(fileMetadata, arrangedContacts.ToList()); _outputWriter.WriteLine(string.Format("{0} {1}", ConsoleMessage.CONSOLE_PROCESS_COMPLETED, newFileName)); IsFileWritten = true; }