コード例 #1
0
 public static ValidationsBuilder ClearValidations(this ValidationsBuilder builder)
 {
     foreach (var item in builder.ModelInstances)
     {
         item.Value.Clear();
     }
     foreach (var item in builder.ModelTypes)
     {
         item.Value.Clear();
     }
     return(builder);
 }
コード例 #2
0
 internal static void AddPropertyValidation(IValidationPropertyChanged viewModel, ValidationsBuilder validationsBuilder)
 {
     if (PropertyValidations.TryGetValue(viewModel, out List <ValidationsBuilder> items))
     {
         items.Add(validationsBuilder);
     }
     else
     {
         items = new List <ValidationsBuilder>()
         {
             validationsBuilder
         };
         PropertyValidations.Add(viewModel, items);
     }
 }
コード例 #3
0
        public static ValidationsGenerator Build(this ValidationsGenerator generator, ValidationsBuilder builder)//, bool clearValidationsAndProperties = false
        {
            foreach (var item in generator.ModelInstances)
            {
                if (!builder.ModelInstances.ContainsKey(item.Key))
                {
                    builder.ModelInstances.Add(item.Key, item.Value);
                }
            }
            foreach (var item in generator.ViewModels)
            {
                if (!builder.ViewModels.Contains(item))
                {
                    builder.ViewModels.Add(item);
                }
            }
            foreach (var item in generator.ModelTypes)
            {
                if (!builder.ModelTypes.ContainsKey(item.Key))
                {
                    builder.ModelTypes.Add(item.Key, item.Value);
                }
            }
            builder.RealTimeCheck = generator.RealTimeCheck;
            foreach (var viewmodel in generator.ViewModels)
            {
                AddPropertyValidation(viewmodel, builder);
            }

            generator.ModelInstances.Clear();
            generator.ModelTypes.Clear();
            return(generator);
        }