Exemplo n.º 1
0
        private async Task <bool> ExecuteSaveDocumentsCommand()
        {
            if (DocsChangeIndexes.Count > 0)
            {
                using (var doc = _db.GetDocument(CoreApp.DocId))
                    using (var mdoc = doc.ToMutable())
                        using (var listItems = mdoc.GetArray(CoreApp.ArrKey)) {
                            foreach (var index in DocsChangeIndexes)
                            {
                                var item    = Items[index];
                                var dictObj = listItems.GetDictionary(item.Index);
                                dictObj.SetString("key", item.Name);
                                dictObj.SetInt("value", item.Quantity);
                                var blob = new Blob("image/png", item.ImageByteArray);
                                dictObj.SetBlob("image", blob);
                            }

                            _db.Save(mdoc);
                        }

                DocsChangeIndexes.Clear();
            }

            return(await Task.FromResult(true));
        }
Exemplo n.º 2
0
        public async Task ExecuteImageChangedCommand(int index)
        {
            Stream stream = await DependencyService.Get <IPhotoPickerService>().GetImageStreamAsync();

            if (stream == null)
            {
                return;
            }

            var item = _items[index];

            using (var memoryStream = new MemoryStream()) {
                stream.CopyTo(memoryStream);
                item.ImageByteArray = memoryStream.ToArray();
            }

            DocsChangeIndexes.Add(item.Index);
        }