private void Process(RemoveProjectItemEvent @event) { var projectItem = GetProjectItem(@event.RelativeFileName); if (projectItem != null) { projectItem.Remove(); } }
public void ProcessEvents(List <SoftwareFactoryEvent> events) { foreach (var @event in events) { switch (@event.EventIdentifier) { case SoftwareFactoryEvents.AddProjectItemEvent: var x = new AddProjectItemEvent(Project, @event.GetValue("RelativeFileName"), @event.TryGetValue("ItemType")); if (@event.TryGetValue("Depends On") != null) { x.DependentUpon(@event.TryGetValue("Depends On")); } if (@event.TryGetValue("IntentGenType") != null) { x.Generated(@event.TryGetValue("IntentGenType")); } Process(x); break; case SoftwareFactoryEvents.RemoveProjectItemEvent: var r = new RemoveProjectItemEvent(Project, @event.GetValue("RelativeFileName")); Process(r); break; case SoftwareFactoryEvents.AddTargetEvent: Process(new AddTargetEvent(Project, @event.GetValue("Name"), @event.GetValue("Condition"), @event.GetValue("Xml"))); break; case SoftwareFactoryEvents.AddTaskEvent: Process(new AddTaskEvent(Project, @event.GetValue("TaskName"), @event.GetValue("AssemblyFile"))); break; case SoftwareFactoryEvents.ChangeProjectItemTypeEvent: Process(new ChangeProjectItemTypeEvent(Project, @event.GetValue("RelativeFileName"), @event.GetValue("ItemType"))); break; default: Logging.Log.Warning($"VSProject Sync not handling {@event.EventIdentifier}"); break; } } }