public async Task DeleteFilesAsync(FilePath[] localPaths, bool force, ProgressMonitor monitor, bool keepLocal = true) { FileUpdateEventArgs args = new FileUpdateEventArgs(); var metadata = new DeleteMetadata(VersionControlSystem) { PathsCount = localPaths.Length, Force = force, KeepLocal = keepLocal }; using (var tracker = Instrumentation.DeleteCounter.BeginTiming(metadata, monitor.CancellationToken)) { try { await OnDeleteFilesAsync(localPaths, force, monitor, keepLocal); foreach (var path in localPaths) { args.Add(new FileUpdateEventInfo(this, path, false)); } } catch (Exception e) { LoggingService.LogError("Failed to delete file", e); metadata.SetFailure(); if (!keepLocal) { foreach (var path in localPaths) { File.Delete(path); } } } } ClearCachedVersionInfo(localPaths); if (args.Any()) { VersionControlService.NotifyFileStatusChanged(args); } }
protected ITransactionOperation CreateTransactionOperation(TransactionType transactionType) { ITransactionOperation transactionOperation; switch (transactionType) { case TransactionType.CreateNode: transactionOperation = new CreateNode(MapObjects.Parameters); break; case TransactionType.DeleteNode: transactionOperation = new DeleteNode(MapObjects.Parameters); break; case TransactionType.CreateRelationship: transactionOperation = new CreateRelationship(MapObjects.Parameters); break; case TransactionType.DeleteRelationship: transactionOperation = new DeleteRelationship(MapObjects.Parameters); break; case TransactionType.CreateDescriptor: transactionOperation = new CreateDescriptor(MapObjects.Parameters); break; case TransactionType.CreateMetadata: transactionOperation = new CreateMetadata(MapObjects.Parameters); break; case TransactionType.UpdateMetadata: transactionOperation = new UpdateMetadata(MapObjects.Parameters); break; case TransactionType.DeleteMetadata: transactionOperation = new DeleteMetadata(MapObjects.Parameters); break; case TransactionType.UpdateNode: transactionOperation = new UpdateNode(MapObjects.Parameters); break; case TransactionType.UpdateRelationship: transactionOperation = new UpdateRelationship(MapObjects.Parameters); break; case TransactionType.UpdateDescriptor: transactionOperation = new UpdateDescriptor(MapObjects.Parameters); break; default: throw new NotSupportedException("The requested transaction type doesn't exist."); } return(transactionOperation); }
public void DeleteDirectories(FilePath[] localPaths, bool force, ProgressMonitor monitor, bool keepLocal = true) { var metadata = new DeleteMetadata(VersionControlSystem) { PathsCount = localPaths.Length, Force = force, KeepLocal = keepLocal }; using (var tracker = Instrumentation.DeleteCounter.BeginTiming(metadata, monitor.CancellationToken)) { try { OnDeleteDirectories(localPaths, force, monitor, keepLocal); } catch (Exception e) { LoggingService.LogError("Failed to delete directory", e); metadata.SetFailure(); if (!keepLocal) { foreach (var path in localPaths) { Directory.Delete(path, true); } } } } ClearCachedVersionInfo(localPaths); }
protected ITransactionOperation CreateTransactionOperation(TransactionType transactionType) { ITransactionOperation transactionOperation; switch (transactionType) { case TransactionType.CreateNode: transactionOperation = new CreateNode(GlymaSession.Parameters); break; case TransactionType.DeleteNode: transactionOperation = new DeleteNode(GlymaSession.Parameters); break; case TransactionType.CreateRelationship: transactionOperation = new CreateRelationship(GlymaSession.Parameters); break; case TransactionType.DeleteRelationship: transactionOperation = new DeleteRelationship(GlymaSession.Parameters); break; case TransactionType.CreateDescriptor: transactionOperation = new CreateDescriptor(GlymaSession.Parameters); break; case TransactionType.CreateMetadata: transactionOperation = new CreateMetadata(GlymaSession.Parameters); break; case TransactionType.UpdateMetadata: transactionOperation = new UpdateMetadata(GlymaSession.Parameters); break; case TransactionType.DeleteMetadata: transactionOperation = new DeleteMetadata(GlymaSession.Parameters); break; case TransactionType.UpdateNode: transactionOperation = new UpdateNode(GlymaSession.Parameters); break; case TransactionType.UpdateRelationship: transactionOperation = new UpdateRelationship(GlymaSession.Parameters); break; case TransactionType.UpdateDescriptor: transactionOperation = new UpdateDescriptor(GlymaSession.Parameters); break; default: throw new NotSupportedException("The requested transaction type doesn't exist."); } return transactionOperation; }