ClrPlus.Scripting.MsBuild.Packaging.ProjectPlus.LookupUsingTask C# (CSharp) Method

LookupUsingTask() private method

private LookupUsingTask ( string name, string condition = null ) : Microsoft.Build.Construction.ProjectUsingTaskElement
name string
condition string
return Microsoft.Build.Construction.ProjectUsingTaskElement
        internal ProjectUsingTaskElement LookupUsingTask(string name, string condition = null)
        {
            ProjectUsingTaskElement usingTask = null;

            var label = Pivots.GetExpressionLabel(condition);

            if(string.IsNullOrEmpty(condition)) {
                usingTask = Xml.UsingTasks.FirstOrDefault(each => name == each.TaskName && string.IsNullOrEmpty(each.Condition));
                if(usingTask != null) {
                    return usingTask;
                }
                return Xml.AddUsingTask(name, "asmfile", null);
            }

            var conditionExpression = Pivots.GetMSBuildCondition(Name, condition);
            usingTask = Xml.UsingTasks.FirstOrDefault(each => name == each.TaskName && each.Condition == conditionExpression);
            if(usingTask != null) {
                return usingTask;
            }

            usingTask = Xml.AddUsingTask(name, "asmfile", null);

            usingTask.Label = label;
            usingTask.Condition = conditionExpression;
            return usingTask;
        }