public VoucherListViewModel()
        {
            CleanAndPostVouchersCommand = new RelayCommand(CleanVouchersStub, CanRunBackgroundCleaner);

            Messenger.Default.Register<NotificationMessage<vwPayment>>(this, message =>
            {
                if (message.Notification == Notifications.HistoryPaymentSent)
                {
                    PopulateSelectedVoucherFromOldPayment(message.Content);
                }
            });
            Messenger.Default.Register<NotificationMessage<VoucherWrappersMessage>>(this, message =>
            {
                if (message.Notification == Notifications.VouchersDataCleaned)
                {
                    VoucherImports =
                        new ObservableCollection<VoucherImportWrapper>(
                            message.Content.VoucherImports.OrderBy(x => x.OkMailingAddress)
                                .ThenBy(x => x.OkPhone)
                                .ThenBy(x => x.OkEmailAddress)
                               .ToList());
                           FilterVoucherImports();
                    ExcelFileInfo = message.Content.ExcelFileInfo;
                }
                });

            Messenger.Default.Register<NotificationMessage<DataCleanCriteria>>(this, message =>
            {
                if (message.Notification == Notifications.DataCleanCriteriaUpdated)
                {
                    _dataCleanCriteria = message.Content;
                }
            });
            
        }
        public DataCleanEventFactoryAutoFixTests()
        {
            _dataCleanEventFactory = new DataCleanEventFactory( new DataCleaner.DataCleaner(ConfigurationManager.AppSettings)
                , new DataCleanRespository(),_criteria = new DataCleanCriteria()
                                                                        {
                                                                            AutoFixAddressLine1 = false,
                                                                            AutoFixCity = false,
                                                                            AutoFixPostalCode = false,
                                                                            AutoFixState = false,
                                                                            ForceValidation = true
                                                                        });

        }
 public DataCleanEventController()
 {
     var c = ConfigurationManager.AppSettings;
     var criteria = new DataCleanCriteria()
     {
         AutoFixAddressLine1 = false,
         AutoFixCity = false,
         AutoFixPostalCode = true,
         AutoFixState = false,
         ForceValidation = false
     };
     _dcef = new DataCleanEventFactory(new DataCleaner(c), new DataCleanRespository(), criteria);
 }
        public DataCleanEventFactory(DataCleaner dataCleaner, Repository.Mgr.DataCleanRespository dataCleanRepository, DataCleanCriteria criteria)
        {
            _dataCleaner = dataCleaner;
            _dataCleanRepository = dataCleanRepository;

            // if we get bad data clean criteruia use the defaults (no fixes and no force) 
            if (criteria != null) _criteria = criteria;
            _criteria = new DataCleanCriteria()
            {
                AutoFixAddressLine1 = false,
                AutoFixCity = false,
                AutoFixPostalCode = true,
                AutoFixState = false,
                ForceValidation = false
            };

        }