예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 public SearchController(RestApiMetadata searchMetadata, AzureSearchPostTemplate searchPostTemplate)
 {
     this._restApiMetadata    = searchMetadata;
     this._searchPostTemplate = searchPostTemplate;
 }