public override void Delete (WebReferenceItem item) { base.Delete (item); DotNetProject project = item.Project; WCFMetadataStorage metStor = project.Items.GetAll<WCFMetadataStorage> ().FirstOrDefault (m => m.Path.CanonicalPath == item.BasePath); if (metStor != null) { project.Items.Remove (metStor); if (!project.Items.GetAll<WCFMetadataStorage> ().Any ()) { WCFMetadata dir = project.Items.GetAll<WCFMetadata> ().FirstOrDefault (); if (dir != null) project.Items.Remove (dir); } } }
protected override string GenerateDescriptionFiles(DotNetProject project, FilePath basePath) { if (!project.Items.GetAll <WCFMetadata> ().Any()) { WCFMetadata met = new WCFMetadata(); met.Path = basePath.ParentDirectory; project.Items.Add(met); } WCFMetadataStorage metStor = project.Items.GetAll <WCFMetadataStorage> ().FirstOrDefault(m => m.Path.CanonicalPath == basePath); if (metStor == null) { project.Items.Add(new WCFMetadataStorage() { Path = basePath }); } string file = Path.Combine(basePath, "Reference.svcmap"); if (protocol != null) { protocol.ResolveAll(); protocol.WriteAll(basePath, "Reference.svcmap"); refGroup = ConvertMapFile(file); } else { // TODO ReferenceGroup map = new ReferenceGroup(); map.ClientOptions = InitialClientOptions; map.Save(file); map.ID = Guid.NewGuid().ToString(); refGroup = map; } foreach (MetadataFile mfile in refGroup.Metadata) { project.AddFile(new FilePath(mfile.FileName).ToAbsolute(basePath), BuildAction.None); } return(file); }