public ScavengerHuntCellViewModel(ScavengerHuntView item) { HuntItem = item; IsCaptured = item.IsCaptured; CapturedImage = item.CaptureImage; HuntItemDescription = item.ItemDescription; }
public ObservableCollection <ScavengerHuntView> GetScavengerHuntItems() { var db = _couchbaseService.Db; var shList = db.GetExistingView("scavenger-hunt-list"); var q = shList.CreateQuery(); var query = q.ToLiveQuery(); query.GroupLevel = 1; Func <QueryRow, ScavengerHuntView> transform = row => { var k = row.Key as JArray; var key = k.ToObject <string[]> (); var v = row.Value as object[]; var itemId = key[0].ToString(); var itemDescription = v[1].ToString(); var order = (int)((long)v[2]); var captureDocId = (v[3] == null) ? null : v[3].ToString(); var itemDoc = _couchbaseService.Db.GetExistingDocument(itemId); var itemImage = GetBytes(itemDoc.Properties["image"]); byte[] captureImage = null; if (String.IsNullOrWhiteSpace(captureDocId) == false) { Document captureDoc = _couchbaseService.Db.GetExistingDocument(captureDocId); if (captureDoc != null) { var imageData = captureDoc.Properties["image"]; if (imageData != null) { captureImage = GetBytes(imageData); } } } var item = new ScavengerHuntView() { ItemId = itemId, ItemDescription = itemDescription, Order = order, ItemImage = itemImage, CaptureImage = captureImage }; return(item); }; var result = new LiveQueryObservableCollection <ScavengerHuntView> (query, transform); return(result); }