public void ReIndexItem(IAzureSearchSimpleDataSet data)
        {
            var documents = new List <Document>();
            var config    = GetConfiguration();

            documents.Add(FromlDataset(data, config.SearchFields));
            IndexContentBatch(documents);
        }
        private Document AddFields(Document c, IAzureSearchSimpleDataSet data, SearchField[] searchFields)
        {
            foreach (var field in searchFields)
            {
                if (data.RowData.ContainsKey(field.Name))
                {
                    var value = data.RowData[field.Name];

                    if (field.Type == "collection")
                    {
                        if (value != value.Collection)
                        {
                            c.Add(field.Name, value.Collection);
                        }
                        else
                        {
                            c.Add(field.Name, new List <string>());
                        }
                    }

                    if (field.Type == "string")
                    {
                        if (value.String != null)
                        {
                            c.Add(field.Name, value.String);
                        }
                        else
                        {
                            c.Add(field.Name, string.Empty);
                        }
                    }

                    if (field.Type == "int")
                    {
                        c.Add(field.Name, value.Int);
                    }

                    if (field.Type == "bool")
                    {
                        c.Add(field.Name, value.Bool);
                    }

                    if (field.Type == "date")
                    {
                        if (value.DateTime != null)
                        {
                            c.Add(field.Name, value.DateTime);
                        }
                        else
                        {
                            c.Add(field.Name, default(DateTime));
                        }
                    }
                }
            }

            return(c);
        }
        private Document FromlDataset(IAzureSearchSimpleDataSet data, SearchField[] searchFields)
        {
            var c = new Document
            {
                { "Id", data.Id.ToString() },
                { "Key", data.Key.ToString() },
            };

            c = AddFields(c, data, searchFields);

            return(c);
        }