private void DoApplyRulesToPickedOperations(OperationsClassifier classifier, IEnumerable<BankOperation> operations) { var classificationResult = classifier.ClasifyOpearations(operations); _resolveConflicts.ResolveConflicts(classificationResult); var assigned = classifier.ApplyClassificationResult(classificationResult); var unassigned = classificationResult.Count() - assigned; _messageBoxService.ShowMessageBox( "Info", string.Format( Resources.Translations.OperationsClassificationConfirmation, assigned, Environment.NewLine, unassigned)); }
public void LoadFromFile() { List<BankOperation> overallLoadedOperations = new List<BankOperation>(); using (OpenFileResult openFileResult = new FileDialogService() .OpenFile(ChosenParser.SupportedFileExtensions, true)) { if(openFileResult.OpenedFiles.Count()==0) { return; } foreach (var openedFile in openFileResult.OpenedFiles) { var loadedOperations = _importer.ImportOperations( openedFile.FileName, ChosenParser.Parse(openedFile.Stream)); overallLoadedOperations.AddRange(loadedOperations); } } if (ApplyRules) { var classifier = new OperationsClassifier( _context.GetRepository<IRepository<ClassificationDefinition>>(), _context.GetRepository<IRepository<BankAccount>>()); var classificationResult = classifier.ClasifyOpearations(overallLoadedOperations); _resolveConflicts.ResolveConflicts(classificationResult); var assigned = classifier.ApplyClassificationResult(classificationResult); var unassigned = classificationResult.Count() - assigned; string conent = string.Format( Resources.Translations.OperationsClassificationResultTextTemplate, assigned, Environment.NewLine, unassigned); _messageBoxService.ShowMessageBox("Info", conent); } _context.SaveChanges(); ResetListData(); }