public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            var str = value as string;

            if (String.IsNullOrEmpty(str) || !IdentificatorPattern.IsMatch(str))
            {
                return(new ValidationResult(false, WrongIdMessage));
            }

            if (!DoNotCheckExists)
            {
                var rule = ImportRulesLocator.SearchBehavior(str);

                if (rule == null && MustExists)
                {
                    return(new ValidationResult(false, RuleNotExistMessage));
                }

                if (rule != null && !MustExists)
                {
                    return(new ValidationResult(false, RuleExistMessage));
                }
            }
            return(new ValidationResult(true, @""));
        }
Ejemplo n.º 2
0
        protected void UpdateAvailableRules <TRule>() where TRule : IRule
        {
            if (AvailableRules == null)
            {
                AvailableRules = new ObservableCollection <IRule>();
            }

            var rules = ImportRulesLocator.GetBehaviors().Where(r => r is TRule).ToArray();

            if (AvailableRules.Count == 0)
            {
                foreach (var rule in rules)
                {
                    AvailableRules.Add(rule);
                }
                return;
            }

            var toDelete = AvailableRules.Where(r => !rules.Contains(r)).ToArray();
            var toAdd    = rules.Where(r => !AvailableRules.Contains(r)).ToArray();

            foreach (var rule in toDelete)
            {
                AvailableRules.Remove(rule);
            }

            foreach (var rule in toAdd)
            {
                AvailableRules.Add(rule);
            }
        }
Ejemplo n.º 3
0
        private void UpdateRules()
        {
            var items = ImportRulesLocator.GetBehaviors().ToArray();

            Rules.Clear();
            var excels = items.Where(i => i is ExcelImportRule).Cast <ExcelImportRule>();

            foreach (var rule in ExcelRuleViewModel.FromModels(excels))
            {
                Rules.Add(rule);
            }
        }
Ejemplo n.º 4
0
        public static void DefaultRules()
        {
            Context.Drop();

            ImportRulesLocator.SetBehavior(BuildMasumaRules());
            ImportRulesLocator.SetBehavior(BuildTissRules());

            TargetsLocator.Set(new FileSourceProfile
            {
                FilePath = @"C:\Temp\masuma_bigdata.xls",
                Guid     = Guid.NewGuid(),
                RuleIdentificatorString  = "masumaexcel",
                TransactionIdentificator = "masuma"
            });

            TargetsLocator.Set(new FileSourceProfile
            {
                FilePath = @"C:\Temp\tiss.xls",
                Guid     = Guid.NewGuid(),
                RuleIdentificatorString  = "tissexcel",
                TransactionIdentificator = "tiss"
            });
        }
Ejemplo n.º 5
0
        protected override void SaveImpl()
        {
            var model = Model as ExcelImportRule ?? new ExcelImportRule();

            model.CsvMode        = UseCsvFile;
            model.Name           = Name;
            model.Description    = Description;
            model.Identificator  = Identificator;
            model.RowOffset      = RowOffset ?? 0;
            model.ColumnOffset   = ColumnOffset ?? 0;
            model.WorksheetIndex = WorksheetIndex ?? 0;
            model.Columns        = Fields.Select(f => new ExcelImportRule.Column
            {
                Active    = f.Active,
                Index     = f.Index ?? 0,
                Formatter = f.Formatter,
                Name      = f.Name,
                Required  = f.Required
            });

            ImportRulesLocator.SetBehavior(model);

            App.Window.NavigateModal(null);
        }
Ejemplo n.º 6
0
 private void DeleteImpl()
 {
     ImportRulesLocator.Remove(SelectedItem.Identificator);
     Rules.Remove(SelectedItem);
 }