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); }
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); } }
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); }