示例#1
0
        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;
        }