Microsoft.VisualStudio.R.Package.ProjectSystem.RProjectLoadHooks.ProjectRenamedOnWriter C# (CSharp) Method

ProjectRenamedOnWriter() private method

private ProjectRenamedOnWriter ( object sender, ProjectRenamedEventArgs args ) : System.Threading.Tasks.Task
sender object
args ProjectRenamedEventArgs
return System.Threading.Tasks.Task
        private async Task ProjectRenamedOnWriter(object sender, ProjectRenamedEventArgs args) {
            var oldImportName = FileSystemMirroringProjectUtilities.GetInMemoryTargetsFileName(args.OldFullPath);
            var newImportName = FileSystemMirroringProjectUtilities.GetInMemoryTargetsFileName(args.NewFullPath);
            using (var access = await _projectLockService.WriteLockAsync()) {
                await access.CheckoutAsync(_unconfiguredProject.FullPath);
                var xml = await access.GetProjectXmlAsync(_unconfiguredProject.FullPath);
                var import = xml.Imports.FirstOrDefault(i => i.Project.EqualsIgnoreCase(oldImportName));
                if (import != null) {
                    import.Project = newImportName;
                    import.Condition = $"Exists('{newImportName}')";
                    await Project.UpdateFullPathAsync(access);
                }
            }
        }