/// <summary> /// Provide a context class for the validation /// </summary> /// <param name="subjects"></param> /// <param name="categories"></param> /// <returns></returns> protected override ValidationContext CreateValidationContext(IEnumerable<ModelElement> subjects, ValidationCategories categories) { return new ProductStoreValidationContext(categories, subjects, this.ServiceProvider); }
/// <summary> /// Initializes a new instance of the <see cref="ProductStoreValidationContext"/> class. /// </summary> /// <param name="categories">The categories.</param> /// <param name="subjects">The subjects.</param> /// <param name="serviceProvider">The service provider.</param> public ProductStoreValidationContext(ValidationCategories categories, IEnumerable<ModelElement> subjects, IServiceProvider serviceProvider) : base(categories, subjects, serviceProvider) { }
/// <summary> /// Provide a context class for the validation /// </summary> /// <param name="subjects"></param> /// <param name="categories"></param> /// <returns></returns> protected override ValidationContext CreateValidationContext(IEnumerable <ModelElement> subjects, ValidationCategories categories) { return(new ProductStoreValidationContext(categories, subjects, this.ServiceProvider)); }
protected bool ValidateStore(string categories, CompilerErrorCollection errors) { if (this.skipValidation) { return(false); } if (errors == null) { throw new ArgumentNullException("errors"); } if (this.Store == null) { return(true); } if (string.IsNullOrEmpty(categories)) { return(true); } string[] strArray = categories.Split(new char[] { '|' }); ValidationCategories categories2 = 0; List <string> list = new List <string>(); foreach (string str in strArray) { string str2 = str.Trim(); if (!string.IsNullOrEmpty(str2)) { if (StringComparer.OrdinalIgnoreCase.Compare(str2, "Open") == 0) { categories2 |= ValidationCategories.Open; } else if (StringComparer.OrdinalIgnoreCase.Compare(str2, "Load") == 0) { categories2 |= ValidationCategories.Load; } else if (StringComparer.OrdinalIgnoreCase.Compare(str2, "Save") == 0) { categories2 |= ValidationCategories.Save; } else if (StringComparer.OrdinalIgnoreCase.Compare(str2, "Menu") == 0) { categories2 |= ValidationCategories.Menu; } else if (StringComparer.OrdinalIgnoreCase.Compare(str2, "Custom") == 0) { categories2 |= ValidationCategories.Custom; } else { list.Add(str2); } } } bool flag = false; ValidationController controller = new ValidationController(); if (categories2 != 0) { controller.Validate(this.store, categories2); foreach (ValidationMessage message in controller.ValidationMessages) { CompilerError error = new CompilerError(message.File, message.Line, message.Column, message.Code, message.Description) { IsWarning = message.Type != ViolationType.Error }; flag |= !error.IsWarning; errors.Add(error); } } if (list.Count > 0) { controller.ValidateCustom(this.store, list.ToArray()); foreach (ValidationMessage message2 in controller.ValidationMessages) { CompilerError error2 = new CompilerError(message2.File, message2.Line, message2.Column, message2.Code, message2.Description) { IsWarning = message2.Type != ViolationType.Error }; flag |= !error2.IsWarning; errors.Add(error2); } } return(flag); }
/// <summary> /// Initializes a new instance of the <see cref="ProductStoreValidationContext"/> class. /// </summary> /// <param name="categories">The categories.</param> /// <param name="subjects">The subjects.</param> /// <param name="serviceProvider">The service provider.</param> public ProductStoreValidationContext(ValidationCategories categories, IEnumerable <ModelElement> subjects, IServiceProvider serviceProvider) : base(categories, subjects, serviceProvider) { }