private void CreateAvailableEndpoints(dynamic data) { if (string.IsNullOrEmpty(data.alias)) { return; } string alias = data.alias; string description = data.description; string disclaimer = data.disclaimer; var esa = new AvailableEndpoint { PartitionKey = alias, RowKey = "", alias = alias, description = description, disclaimer = disclaimer, storageaccountname = data.storagename, storageaccountkey = data.storagekey }; CloudStorageAccount ta = CloudStorageAccount.Parse(string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}", data.storagename, data.storagekey)); var ctx = new TableServiceContext(ta.TableEndpoint.AbsoluteUri, ta.Credentials); var tableClient = ta.CreateCloudTableClient(); tableClient.CreateTableIfNotExist(ENDPOINTS_TABLENAME); ctx.AddObject(ENDPOINTS_TABLENAME, esa); ctx.SaveChanges(); }
private void CreateAvailableEndpoints(dynamic data) { if (string.IsNullOrEmpty(data.alias)) return; string alias = data.alias; string description = data.description; string disclaimer = data.disclaimer; var esa = new AvailableEndpoint { PartitionKey = alias, RowKey = "", alias = alias, description = description, disclaimer = disclaimer, storageaccountname = data.storagename, storageaccountkey = data.storagekey }; CloudStorageAccount ta = CloudStorageAccount.Parse(string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}", data.storagename, data.storagekey)); var ctx = new TableServiceContext(ta.TableEndpoint.AbsoluteUri, ta.Credentials); var tableClient = ta.CreateCloudTableClient(); tableClient.CreateTableIfNotExist(ENDPOINTS_TABLENAME); ctx.AddObject(ENDPOINTS_TABLENAME, esa); ctx.SaveChanges(); }
public ActionResult Add(AddCatalog model) { try { CloudTable availableEndpoints = Azure.GetCloudTable(model.ConfigStorageName, model.ConfigStorageKey, Azure.Table.AvailableEndpoints); availableEndpoints.CreateIfNotExists(); AvailableEndpoint entity = new AvailableEndpoint(model.Alias, model.Alias); entity.alias = model.Alias; entity.description = model.Description; entity.disclaimer = model.Disclaimer; entity.storageaccountname = model.DataStorageName; entity.storageaccountkey = model.DataStorageKey; if (!entity.IsValid()) { return(Json(new { Error = Messages.IncompleteForm })); } availableEndpoints.Execute(TableOperation.Insert(entity)); return(Json(new { Result = string.Empty })); } catch (Exception ex) { return(Json(new { Error = ex.Message })); } }
protected void SubmitButton_Click(object sender, EventArgs e) { var esa = new AvailableEndpoint { PartitionKey = AliasBox.Text, RowKey = "", alias = AliasBox.Text, description = DescriptionBox.Text, storageaccountname = tableStorageAccountNameBox.Text, storageaccountkey = tableStorageAccountKeyBox.Text }; if (DisclaimerBox.Text.Length > 0) { esa.disclaimer = DisclaimerBox.Text.Replace('\n', ' '); } var ta = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["DataConnectionString"]); var ctx = new OgdiConfigDataServiceContext(ta.TableEndpoint.AbsoluteUri, ta.Credentials); ctx.AddObject(OgdiConfigDataServiceContext.EndpointsTableName, esa); ctx.SaveChanges(); DisplayLatest(); }
public ActionResult Delete(DeleteCatalog model) { try { CloudTable availableEndpoints = Azure.GetCloudTable(model.ConfigStorageName, model.ConfigStorageKey, Azure.Table.AvailableEndpoints); if (!availableEndpoints.Exists()) { return(Json(new { Error = string.Format(Messages.TableDoesNotExist, Azure.Table.AvailableEndpoints) })); } TableOperation retrieveOperation = TableOperation.Retrieve <AvailableEndpoint>(model.PartitionKey, (model.RowKey ?? string.Empty)); TableResult retrievedResult = availableEndpoints.Execute(retrieveOperation); if (retrievedResult.Result == null) { return(Json(new { Error = Messages.CatalogNotFound })); } AvailableEndpoint availableEndpoint = retrievedResult.Result as AvailableEndpoint; string dataStorageName = availableEndpoint.storageaccountname; string dataStorageKey = availableEndpoint.storageaccountkey; // Deleting row in AvailableEndpoints availableEndpoints.Execute(TableOperation.Delete(availableEndpoint)); // Deleting all data tables CloudTable tableMetadata = Azure.GetCloudTable(dataStorageName, dataStorageKey, Azure.Table.TableMetadata); if (tableMetadata.Exists()) { foreach (TableMetadata entity in tableMetadata.ExecuteQuery(new TableQuery <TableMetadata>())) { Azure.GetCloudTable(dataStorageName, dataStorageKey, entity.entityset).DeleteIfExists(); } tableMetadata.DeleteIfExists(); } // Deleting all metadata tables Azure.GetCloudTable(dataStorageName, dataStorageKey, Azure.Table.EntityMetadata).DeleteIfExists(); Azure.GetCloudTable(dataStorageName, dataStorageKey, Azure.Table.ProcessorParams).DeleteIfExists(); Azure.GetCloudTable(dataStorageName, dataStorageKey, Azure.Table.TableColumnsMetadata).DeleteIfExists(); return(Json(new { Result = string.Empty })); } catch (Exception ex) { return(Json(new { Error = ex.Message })); } }
protected void DeleteButton_Click(object sender, EventArgs e) { var button = sender as LinkButton; string[] p = button.CommandArgument.Split('|'); var partitionKey = p[0]; var rowKey = p[1]; var availableEndpoint = new AvailableEndpoint { PartitionKey = partitionKey, RowKey = rowKey }; var ta = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["DataConnectionString"]); var context = new OgdiConfigDataServiceContext(ta.TableEndpoint.AbsoluteUri, ta.Credentials); context.AttachTo(OgdiConfigDataServiceContext.EndpointsTableName, availableEndpoint, "*"); context.DeleteObject(availableEndpoint); context.SaveChanges(); DisplayLatest(); }
public ActionResult Delete(DeleteDataset model) { try { CloudTable endPoints = Azure.GetCloudTable(model.DataStorageName, model.DataStorageKey, Azure.Table.AvailableEndpoints); AvailableEndpoint catalog = endPoints.ExecuteQuery(new TableQuery <AvailableEndpoint>()).SingleOrDefault(x => x.alias == model.Catalog); CloudTable tableMetadata = Azure.GetCloudTable(catalog.storageaccountname, catalog.storageaccountkey, Azure.Table.TableMetadata); if (!tableMetadata.Exists()) { return(Json(new { Error = string.Format(Messages.TableDoesNotExist, Azure.Table.TableMetadata) })); } TableOperation retrieveOperation = TableOperation.Retrieve <TableMetadata>(model.PartitionKey, (model.RowKey ?? string.Empty)); TableResult retrievedResult = tableMetadata.Execute(retrieveOperation); if (retrievedResult.Result == null) { return(Json(new { Error = Messages.DatasetNotFound })); } TableMetadata entity = retrievedResult.Result as TableMetadata; string entitySet = entity.entityset; // Deleting row in TableMetadata tableMetadata.Execute(TableOperation.Delete(entity)); // Deleting rows in TableColumnsMetadata CloudTable tableColumnsMetadata = Azure.GetCloudTable(catalog.storageaccountname, catalog.storageaccountkey, Azure.Table.TableColumnsMetadata); if (tableColumnsMetadata.Exists()) { TableQuery <TableColumnsMetadata> rangeQuery = new TableQuery <TableColumnsMetadata>().Where(TableQuery.GenerateFilterCondition("entityset", QueryComparisons.Equal, entitySet)); foreach (TableColumnsMetadata tmpEntity in tableColumnsMetadata.ExecuteQuery(rangeQuery)) { tableColumnsMetadata.Execute(TableOperation.Delete(tmpEntity)); } } // Deleting rows in EntityMetadata CloudTable entityMetadata = Azure.GetCloudTable(catalog.storageaccountname, catalog.storageaccountkey, Azure.Table.EntityMetadata); if (entityMetadata.Exists()) { TableQuery <EntityMetadata> rangeQuery = new TableQuery <EntityMetadata>().Where(TableQuery.GenerateFilterCondition("entityset", QueryComparisons.Equal, entitySet)); foreach (EntityMetadata tmpEntity in entityMetadata.ExecuteQuery(rangeQuery)) { entityMetadata.Execute(TableOperation.Delete(tmpEntity)); } } // Deleting rows in ProcessorParams CloudTable processorParams = Azure.GetCloudTable(catalog.storageaccountname, catalog.storageaccountkey, Azure.Table.ProcessorParams); if (processorParams.Exists()) { TableQuery <ProcessorParams> rangeQuery = new TableQuery <ProcessorParams>().Where(TableQuery.GenerateFilterCondition("entityset", QueryComparisons.Equal, entitySet)); foreach (ProcessorParams tmpEntity in processorParams.ExecuteQuery(rangeQuery)) { processorParams.Execute(TableOperation.Delete(tmpEntity)); } } // Deleting the data table Azure.GetCloudTable(catalog.storageaccountname, catalog.storageaccountkey, entitySet).DeleteIfExists(); return(Json(new { Result = string.Empty })); } catch (Exception ex) { return(Json(new { Error = ex.Message })); } }