예제 #1
0
        void InitializeCouchbaseSummaryView()
        {
            var view = Database.ViewNamed("Done");

            var mapBlock = new MapBlock((doc, emit) => {
                var date       = doc.ObjectForKey(CreationDatePropertyName);
                var checkedOff = doc.ObjectForKey((NSString)"check");

                if (date != null)
                {
                    emit(NSArray.FromNSObjects(checkedOff, date), null);
                }
            });

            var reduceBlock = new ReduceBlock((keys, values, rereduce) => {
                var keyArray = NSArray.FromArray <NSArray> (keys);
                var key      = keyArray.Sum(data => 1 - data.GetItem <NSNumber> (0).IntValue);

                var result = new NSMutableDictionary();
                result.SetValueForKey((NSString)"Items Remaining", (NSString)"Label");
                result.SetValueForKey((NSString)key.ToString(), (NSString)"Count");

                return(result);
            });

            view.SetMapBlock(mapBlock, reduceBlock, "1.1");
        }
        void InitializeCouchbaseSummaryView()
        {
            var view = Database.ViewNamed ("Done");

              var mapBlock = new MapBlock ((doc, emit) => {
            var date = doc.ObjectForKey (CreationDatePropertyName);
            var checkedOff = doc.ObjectForKey ((NSString)"check");

            if (date != null) {
              emit (NSArray.FromNSObjects (checkedOff, date), null);
            }
              });

              var reduceBlock = new ReduceBlock ((keys, values, rereduce) => {
            var keyArray = NSArray.FromArray<NSArray> (keys);
            var key = keyArray.Sum(data => 1 - data.GetItem<NSNumber> (0).IntValue);

            var result = new NSMutableDictionary ();
            result.SetValueForKey ((NSString)"Items Remaining", (NSString)"Label");
            result.SetValueForKey ((NSString)key.ToString (), (NSString)"Count");

            return result;
              });

              view.SetMapBlock (mapBlock, reduceBlock, "1.1");
        }