Example #1
0
        /// <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
        }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <summary>
 /// Removes the view.
 /// </summary>
 /// <param name="view">The view.</param>
 public void RemoveView(BigDViewDefinition view)
 {
     view.Doc = null;
     Definitions.Remove(view);
 }