/// <summary> /// Initializes a new instance of the Index class. /// </summary> /// <param name="name">Gets or sets the name of the index.</param> /// <param name="fields">Gets or sets the fields of the index.</param> /// <param name="scoringProfiles">Gets or sets the scoring profiles for /// the index.</param> /// <param name="defaultScoringProfile">Gets or sets the name of the /// scoring profile to use if none is specified in the query. If this /// property is not set and no scoring profile is specified in the /// query, then default scoring (tf-idf) will be used.</param> /// <param name="corsOptions">Gets or sets options to control /// Cross-Origin Resource Sharing (CORS) for the index.</param> /// <param name="suggesters">Gets or sets the suggesters for the /// index.</param> public Index(string name, IList <Field> fields, IList <ScoringProfile> scoringProfiles = default(IList <ScoringProfile>), string defaultScoringProfile = default(string), CorsOptions corsOptions = default(CorsOptions), IList <Suggester> suggesters = default(IList <Suggester>)) { Name = name; Fields = fields; ScoringProfiles = scoringProfiles; DefaultScoringProfile = defaultScoringProfile; CorsOptions = corsOptions; Suggesters = suggesters; CustomInit(); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Name == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Name"); } if (Fields == null) { throw new ValidationException(ValidationRules.CannotBeNull, "Fields"); } if (Fields != null) { foreach (var element in Fields) { if (element != null) { element.Validate(); } } } if (ScoringProfiles != null) { foreach (var element1 in ScoringProfiles) { if (element1 != null) { element1.Validate(); } } } if (CorsOptions != null) { CorsOptions.Validate(); } if (Suggesters != null) { foreach (var element2 in Suggesters) { if (element2 != null) { element2.Validate(); } } } }