-
Notifications
You must be signed in to change notification settings - Fork 39
Expand file tree
/
Copy pathWizardDataExtensions.cs
More file actions
72 lines (67 loc) · 2.5 KB
/
Copy pathWizardDataExtensions.cs
File metadata and controls
72 lines (67 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using ServiceStack;
namespace ServiceStackVS.NuGetInstallerWizard
{
public static class WizardDataExtensions
{
public static List<NuGetWizardDataPackage> ExtractNuGetPackages(this XElement element)
{
return element
.Descendants()
.Where(x => x.Name.LocalName.EqualsIgnoreCase("package"))
.Select(
x =>
new NuGetWizardDataPackage
{
Id = x.Attribute("id").Value,
Version = x.Attribute("version").Value
}).ToList();
}
public static bool HasRootPackage(this XElement wizardData)
{
return wizardData
.Descendants()
.FirstOrDefault(
x =>
x.Name.LocalName.EqualsIgnoreCase("package") && x.HasAttributes &&
x.Attribute("rootPackage") != null) != null;
}
public static bool HasMinVsVersion(this XElement wizardData)
{
return wizardData
.Descendants()
.FirstOrDefault(
x =>
x.Name.LocalName.EqualsIgnoreCase("minVsVersion") &&
x.Descendants().Any(y => y.Name.LocalName.EqualsIgnoreCase("version"))) != null;
}
public static int? GetMinVersion(this XElement wizardData)
{
var minVersionElement = wizardData
.Descendants()
.FirstOrDefault(x => x.Name.LocalName.EqualsIgnoreCase("minVsVersion"));
if (minVersionElement != null)
return int.Parse(minVersionElement.Descendants().First().Value);
return null;
}
public static NuGetWizardDataPackage GetRootPackage(this XElement wizardData)
{
return wizardData
.Descendants()
.Where(
x =>
x.Name.LocalName.EqualsIgnoreCase("package") && x.HasAttributes &&
x.Attribute("rootPackage") != null)
.Select(x => new NuGetWizardDataPackage
{
Id = x.Attribute("id").Value,
Version = x.Attribute("version").Value
}).FirstOrDefault();
}
}
}