public async Task LoadItemGroups() { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary; picker.FileTypeFilter.Add(".json"); StorageFile file = await picker.PickSingleFileAsync(); string jsonText = await FileIO.ReadTextAsync(file); var itemGroups = await Json.ToObjectAsync <List <ItemGroup> >(jsonText); foreach (var itemGroup in itemGroups) { ItemGroup dbitemgroup = BdoDataService.GetItemGroupById(itemGroup.Id); if (dbitemgroup != null) { continue; } BdoDataService.AddItemGroup(new ItemGroup { Id = itemGroup.Id, Name = itemGroup.Name }); BdoDataService.Commit(); foreach (var item in itemGroup.Items) { var dbItem = BdoDataService.GetItemById(item.Id); if (dbItem == null) { item.ItemGroupId = itemGroup.Id; BdoDataService.AddItem(item); } else { dbItem.ItemGroupId = itemGroup.Id; BdoDataService.UpdateItem(dbItem); } BdoDataService.Commit(); } } await LoadDataAsync(); }
public async Task LoadItemsAsync() { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary; picker.FileTypeFilter.Add(".json"); StorageFile file = await picker.PickSingleFileAsync(); string jsonText = await FileIO.ReadTextAsync(file); List <BdoItem> items = await Json.ToObjectAsync <List <BdoItem> >(jsonText); foreach (var item in items) { BdoItem bdoItem = BdoDataService.GetItemById(item.Id); if (bdoItem == null) { BdoDataService.AddItem(item); } else { bdoItem.Name = item.Name; bdoItem.Grade = item.Grade; bdoItem.Img = item.Img; bdoItem.Description = item.Description; bdoItem.Category = item.Category; bdoItem.Weight = item.Weight; bdoItem.ItemGroupId = item.ItemGroupId; bdoItem.BuyPrice = item.BuyPrice; bdoItem.SellPrice = item.SellPrice; bdoItem.Knowledge = item.Knowledge; BdoDataService.UpdateItem(bdoItem); } BdoDataService.Commit(); } await LoadDataAsync(); }