コード例 #1
0
        private void Process(RemoveProjectItemEvent @event)
        {
            var projectItem = GetProjectItem(@event.RelativeFileName);

            if (projectItem != null)
            {
                projectItem.Remove();
            }
        }
コード例 #2
0
        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;
                }
            }
        }