Example #1
0
        public object Delete(DeleteCatalog request)
        {
            var entity = request.ConvertTo <Catalog>();

            return(InTransaction(db => {
                Logic.Remove(entity);
                return new CommonResponse();
            }));
        }
Example #2
0
        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 }));
            }
        }