/// <summary> /// Reads the json. /// </summary> /// <param name="obj">The object.</param> public override void ReadJson(JObject obj) { ReadIdAndRev(this, obj); if (obj["language"] != null) { Language = obj["language"].Value <string>(); } Definitions = new List <BigDViewDefinition>(); var views = (JObject)obj["views"]; foreach (var property in views.Properties()) { var v = new BigDViewDefinition(property.Name, this); v.ReadJson((JObject)views[property.Name]); Definitions.Add(v); } #if XAMARIN #else var fulltext = (JObject)obj["fulltext"]; // If we have Lucene definitions we read them too if (fulltext != null) { foreach (var property in fulltext.Properties()) { var v = new BigDLuceneViewDefinition(property.Name, this); v.ReadJson((JObject)fulltext[property.Name]); LuceneDefinitions.Add(v); } } #endif }
/// <summary> /// Add view with a reduce function. /// </summary> /// <param name="name">Name of view</param> /// <param name="map">Map function</param> /// <param name="reduce">Reduce function</param> /// <returns>CouchViewDefinition.</returns> public BigDViewDefinition AddView(string name, string map, string reduce) { var def = new BigDViewDefinition(name, map, reduce, this); Definitions.Add(def); return(def); }
/// <summary> /// Removes the view. /// </summary> /// <param name="view">The view.</param> public void RemoveView(BigDViewDefinition view) { view.Doc = null; Definitions.Remove(view); }