BudgetAnalyser.Statement.StatementControllerFileOperations.MergeInNewTransactions C# (CSharp) Метод

MergeInNewTransactions() приватный Метод

private MergeInNewTransactions ( ) : System.Threading.Tasks.Task
Результат System.Threading.Tasks.Task
        internal async Task MergeInNewTransactions()
        {
            PersistenceOperationCommands.SaveDatabaseCommand.Execute(this);

            var fileName = await GetFileNameFromUser();
            if (string.IsNullOrWhiteSpace(fileName))
            {
                // User cancelled
                return;
            }

            try
            {
                var account = this.loadFileController.SelectedExistingAccountName;
                await this.transactionService.ImportAndMergeBankStatementAsync(fileName, account);

                await SyncWithServiceAsync();
                MessengerInstance.Send(new TransactionsChangedMessage());
                RaisePropertyChanged(() => ViewModel);
                NotifyOfEdit();
                ViewModel.TriggerRefreshTotalsRow();
                MessengerInstance.Send(new StatementReadyMessage(ViewModel.Statement));
            }
            catch (NotSupportedException ex)
            {
                FileCannotBeLoaded(ex);
            }
            catch (KeyNotFoundException ex)
            {
                FileCannotBeLoaded(ex);
            }
            catch (TransactionsAlreadyImportedException ex)
            {
                FileCannotBeLoaded(ex);
            }
            finally
            {
                this.loadFileController.Reset();
            }
        }