private ServiceDataItem CreateServiceDataItem(ServiceInfo service) { var item = new ServiceDataItem(service); RefreshServiceCollectionsFromMetadataCache(item, service); return(item); }
public async Task <bool> RemoveServiceDataItemAsync(ServiceDataItem serviceItem) { _rootItem.Elements.Remove(serviceItem); var serviceInfo = new ServiceInfo() { Name = serviceItem.Title }; App.AppData.DeleteService(serviceInfo); bool ok = await App.AppData.SaveServicesAsync(); return(ok); }
public async Task <bool> UpdateServiceDataItemAsync(ServiceDataItem serviceItem, ServiceInfo serviceInfo) { var originalTitle = serviceItem.Title; serviceItem.Title = serviceInfo.Name; serviceItem.Subtitle = serviceInfo.Url; serviceItem.Description = serviceInfo.Description; bool ok = await RefreshMetadataCacheAsync(serviceInfo); if (ok) { RefreshServiceCollectionsFromMetadataCache(serviceItem, serviceInfo); App.AppData.UpdateService(originalTitle, serviceInfo); ok = await App.AppData.SaveServicesAsync(); } return(ok); }
private void RefreshServiceCollectionsFromMetadataCache(ServiceDataItem item, ServiceInfo service) { item.Elements.Clear(); if (!string.IsNullOrEmpty(service.MetadataCache)) { var element = XElement.Parse(service.MetadataCache); if (element.Name == "Error") { var errorItem = CreateErrorDataItem(service, element); item.Elements.Add(errorItem); } else { var schema = ODataClient.ParseSchemaString(service.MetadataCache); foreach (var table in schema.Tables) { var collectionItem = CreateCollectionDataItem(service, table); item.Elements.Add(collectionItem); } } } }
private void editButton_Click(object sender, RoutedEventArgs e) { this.bottomAppBar.IsOpen = false; _editedItem = this.itemListView.SelectedItem as ServiceDataItem; this.serviceName.Text = _editedItem.Title; this.serviceUrl.Text = _editedItem.Subtitle; this.serviceDescription.Text = _editedItem.Description; this.editPopup.IsOpen = true; RefreshSaveButtonState(); }
private void addButton_Click(object sender, RoutedEventArgs e) { this.bottomAppBar.IsOpen = false; _editedItem = null; this.serviceName.Text = string.Empty; this.serviceUrl.Text = string.Empty; this.serviceDescription.Text = string.Empty; this.editPopup.IsOpen = true; RefreshSaveButtonState(); }
private void RefreshServiceCollectionsFromMetadataCache(ServiceDataItem item, ServiceInfo service) { item.Elements.Clear(); if (!string.IsNullOrEmpty(service.MetadataCache)) { var element = XElement.Parse(service.MetadataCache); if (element.Name == "Error") { var errorItem = CreateErrorDataItem(service, element); item.Elements.Add(errorItem); } else { var schema = ODataClient.ParseSchemaString(service.MetadataCache); foreach (var table in schema.Tables) { var collectionItem = CreateCollectionDataItem(service, table); item.Elements.Add(collectionItem); } } } }
private ServiceDataItem CreateServiceDataItem(ServiceInfo service) { var item = new ServiceDataItem(service); RefreshServiceCollectionsFromMetadataCache(item, service); return item; }
public async Task<bool> RemoveServiceDataItemAsync(ServiceDataItem serviceItem) { _rootItem.Elements.Remove(serviceItem); var serviceInfo = new ServiceInfo() { Name = serviceItem.Title }; App.AppData.DeleteService(serviceInfo); bool ok = await App.AppData.SaveServicesAsync(); return ok; }
public async Task<bool> UpdateServiceDataItemAsync(ServiceDataItem serviceItem, ServiceInfo serviceInfo) { var originalTitle = serviceItem.Title; serviceItem.Title = serviceInfo.Name; serviceItem.Subtitle = serviceInfo.Url; serviceItem.Description = serviceInfo.Description; bool ok = await RefreshMetadataCacheAsync(serviceInfo); if (ok) { RefreshServiceCollectionsFromMetadataCache(serviceItem, serviceInfo); App.AppData.UpdateService(originalTitle, serviceInfo); ok = await App.AppData.SaveServicesAsync(); } return ok; }