<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/Yaml/Template.cs<|end_filename|>
﻿using Microsoft.TeamFoundation.DistributedTask.WebApi;
using YamlDotNet.Serialization;
namespace CasCap.Models
{
    public class Template : Pipeline
    {
        [YamlIgnore]
        public TaskGroup taskGroup { get; set; }
    }
}

<|start_filename|>src/CasCap.Apis.AzureDevOps/Utilities/LiteralMultilineEventEmitter.cs<|end_filename|>
﻿using YamlDotNet.Core;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.EventEmitters;
namespace CasCap.Utilities
{
    public class LiteralMultilineEventEmitter : ChainedEventEmitter
    {
        public LiteralMultilineEventEmitter(IEventEmitter nextEmitter) : base(nextEmitter) { }

        public override void Emit(ScalarEventInfo eventInfo, IEmitter emitter)
        {
            if (eventInfo.Source.Type == typeof(string) && eventInfo.Source.Value is string value && value.Contains("\n"))
                eventInfo.Style = ScalarStyle.Literal;
            base.Emit(eventInfo, emitter);
        }
    }
}

<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/AzureDevOps/TaskObj.cs<|end_filename|>
﻿using System;
using System.Collections.Generic;
namespace CasCap.Models
{
    public class TaskObj
    {
        public bool contentsUploaded { get; set; }
        public bool deprecated { get; set; }
        public bool preview { get; set; }
        public bool serverOwned { get; set; }
        public bool showEnvironmentVariables { get; set; }
        public Dictionary<string, TaskInput> inputMap { get; set; }
        public Guid id { get; set; }
        public List<string> demands { get; set; }
        public List<string> runsOn { get; set; }
        public List<string> satisfies { get; set; }
        public List<string> visibility { get; set; }
        public List<TaskInput> inputs { get; set; }
        public string author { get; set; }
        public string category { get; set; }
        public string contributionIdentifier { get; set; }
        public string contributionVersion { get; set; }
        public string definitionType { get; set; }
        public string description { get; set; }
        public string friendlyName { get; set; }
        public string helpMarkDown { get; set; }
        public string helpUrl { get; set; }
        public string iconUrl { get; set; }
        public string instanceNameFormat { get; set; }
        public string minimumAgentVersion { get; set; }
        public string name { get; set; }
        public string releaseNotes { get; set; }
        public TaskVersion version { get; set; }
    }
}

<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/AzureDevOps/TaskGroupVersion.cs<|end_filename|>
﻿using System;
namespace CasCap.Models
{
    public struct TaskGroupVersion
    {
        public TaskGroupVersion(Guid _taskGroupId, int _version)
        {
            taskGroupId = _taskGroupId;
            version = _version;
        }

        public Guid taskGroupId { get; }
        public int version { get; }
    }
}


<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/AzureDevOps/TaskInput.cs<|end_filename|>
﻿using System.Collections.Generic;
namespace CasCap.Models
{
    public class TaskInput
    {
        public bool required { get; set; }
        public Dictionary<string, string> options { get; set; }
        public List<string> aliases { get; set; }
        public string defaultValue { get; set; }
        public string groupName { get; set; }
        public string helpMarkDown { get; set; }
        public string label { get; set; }
        public string name { get; set; }
        public string type { get; set; }
        public string visibleRule { get; set; }

        public override string ToString() => $"{name}";
    }
}

<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/AzureDevOps/Tasks.cs<|end_filename|>
﻿using System.Collections.Generic;
namespace CasCap.Models
{
    public class Tasks
    {
        public int count { get; set; }
        public List<TaskObj> value { get; set; }
    }
}

<|start_filename|>src/CasCap.Apis.AzureDevOps/Models/AzureDevOps/TaskVersion.cs<|end_filename|>
﻿namespace CasCap.Models
{
    public class TaskVersion
    {
        public int major { get; set; }
        public int minor { get; set; }
        public int patch { get; set; }
    }
}