/// <summary> /// Converts <see cref="AzureSearchPostTemplate"/> /// to a JSON <see cref="string"/>. /// </summary> /// <param name="template">The template.</param> /// <returns></returns> /// <exception cref="NullReferenceException">The expected Azure Search template is not here.</exception> public static string ToJson(this AzureSearchPostTemplate template) { if (template == null) { throw new NullReferenceException("The expected Azure Search template is not here."); } var serializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Formatting = Newtonsoft.Json.Formatting.Indented }; var json = JsonConvert.SerializeObject(template, serializerSettings); return(json); }
/// <summary> /// Returns <see cref="AzureSearchPostTemplate"/> /// with conventional, default values. /// </summary> /// <param name="template">The meta.</param> /// <returns></returns> public static AzureSearchPostTemplate WithDefaultValues(this AzureSearchPostTemplate template) { if (template == null) { template = new AzureSearchPostTemplate(); } template.Count = true; template.MinimumCoverage = 100; template.QueryType = "simple"; template.Search = "{searchText}"; template.SearchFields = "Content, Title"; template.SearchMode = "any"; template.Select = "*"; template.Skip = 0; template.Top = 10; return(template); }
public SearchController(RestApiMetadata searchMetadata, AzureSearchPostTemplate searchPostTemplate) { this._restApiMetadata = searchMetadata; this._searchPostTemplate = searchPostTemplate; }