Exemplo n.º 1
0
        private static async Task ProcessTagAddedEvent(TagsRepository tagrepo, TagAddedEvent evt)
        {
            switch (evt.Tag.Name)
            {
            case "step":
                await tagrepo.RemoveTagFromHost(evt.TagId, evt.HostId);

                var tags = await tagrepo.GetTagsForHost(evt.Host.Id);

                if (!tags.Any(x => x.Name == "prepare") && !tags.Any(x => x.Name == "restart") && !tags.Any(x => x.Name == "complete"))
                {
                    await tagrepo.AddTagToHost("prepare", evt.HostId);
                }
                else if (tags.Any(x => x.Name == "prepare") && !tags.Any(x => x.Name == "restart") && !tags.Any(x => x.Name == "complete"))
                {
                    await tagrepo.RemoveTagFromHost("prepare", evt.HostId);

                    await tagrepo.AddTagToHost("restart", evt.HostId);
                }
                else if (!tags.Any(x => x.Name == "prepare") && tags.Any(x => x.Name == "restart") && !tags.Any(x => x.Name == "complete"))
                {
                    await tagrepo.RemoveTagFromHost("restart", evt.HostId);

                    await tagrepo.AddTagToHost("complete", evt.HostId);
                }
                break;
            }
        }
Exemplo n.º 2
0
 private void OnTagAddedEvent(Entity entity, string tag)
 {
     TagAddedEvent?.Invoke(entity, tag);
 }