-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathWebAddress.cs
174 lines (148 loc) · 5.34 KB
/
WebAddress.cs
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
// Copyright © 2023 Textkernel BV. All rights reserved.
// This file is provided for use by, or on behalf of, Textkernel licensees
// within the terms of their license of Textkernel products or Textkernel customers
// within the Terms of Service pertaining to the Textkernel SaaS products.
namespace Textkernel.Tx.Models.Resume.ContactInfo
{
/// <summary>
/// A type of <see cref="WebAddress"/>. These are useful instead of magic strings.
/// </summary>
public class WebAddressType
{
/// <summary>
/// An unknown internet handle/URL (the platform/website/app was not specified)
/// </summary>
public static WebAddressType Unknown = "Unknown";
/// <summary>
/// A personal website URL
/// </summary>
public static WebAddressType PersonalWebsite = "PersonalWebsite";
/// <summary>
/// A LinkedIn URL
/// </summary>
public static WebAddressType LinkedIn = "LinkedIn";
/// <summary>
/// A Twitter handle
/// </summary>
public static WebAddressType Twitter = "Twitter";
/// <summary>
/// A Facebook profile URL
/// </summary>
public static WebAddressType Facebook = "Facebook";
/// <summary>
/// An Instagram username
/// </summary>
public static WebAddressType Instagram = "Instagram";
/// <summary>
/// An ICQ username
/// </summary>
public static WebAddressType ICQ = "ICQ";
/// <summary>
/// A Quora username
/// </summary>
public static WebAddressType Quora = "Quora";
/// <summary>
/// A Skype username/URL
/// </summary>
public static WebAddressType Skype = "Skype";
/// <summary>
/// A WeChat username
/// </summary>
public static WebAddressType WeChat = "WeChat";
/// <summary>
/// A QQ username/number
/// </summary>
public static WebAddressType QQ = "QQ";
/// <summary>
/// A Telegraph username
/// </summary>
public static WebAddressType Telegraph = "Telegraph";
/// <summary>
/// A WhatsApp username/number
/// </summary>
public static WebAddressType WhatsApp = "WhatsApp";
/// <summary>
/// A Telegram username
/// </summary>
public static WebAddressType Telegram = "Telegram";
/// <summary>
/// A MeWe username/URL
/// </summary>
public static WebAddressType MeWe = "MeWe";
/// <summary>
/// A Parler username
/// </summary>
public static WebAddressType Parler = "Parler";
/// <summary>
/// A Gab username
/// </summary>
public static WebAddressType Gab = "Gab";
/// <summary>
/// A Reddit username/URL
/// </summary>
public static WebAddressType Reddit = "Reddit";
/// <summary>
/// A GitHub username/URL
/// </summary>
public static WebAddressType GitHub = "GitHub";
/// <summary>
/// A Signal username/number
/// </summary>
public static WebAddressType Signal = "Signal";
/// <summary>
/// A Stack Overflow username/URL
/// </summary>
public static WebAddressType StackOverflow = "StackOverflow";
/// <summary>
/// The raw string value
/// </summary>
public string Value { get; protected set; }
private WebAddressType(string value)
{
Value = value;
}
/// <summary>
/// Converts a string to a <see cref="WebAddressType"/>
/// </summary>
/// <param name="value">the string to use</param>
public static implicit operator WebAddressType(string value)
{
return new WebAddressType(value);
}
}
/// <summary>
/// A web address (URL, twitter handle, etc)
/// </summary>
public class WebAddress
{
/// <summary>
/// The URL or username
/// </summary>
public string Address { get; set; }
/// <summary>
/// The type of address. One of:
/// <br/><see cref="WebAddressType.PersonalWebsite"/>
/// <br/><see cref="WebAddressType.LinkedIn"/>
/// <br/><see cref="WebAddressType.Twitter"/>
/// <br/><see cref="WebAddressType.GitHub"/>
/// <br/><see cref="WebAddressType.Facebook"/>
/// <br/><see cref="WebAddressType.Skype"/>
/// <br/><see cref="WebAddressType.WhatsApp"/>
/// <br/><see cref="WebAddressType.StackOverflow"/>
/// <br/><see cref="WebAddressType.Instagram"/>
/// <br/><see cref="WebAddressType.Reddit"/>
/// <br/><see cref="WebAddressType.Signal"/>
/// <br/><see cref="WebAddressType.Quora"/>
/// <br/><see cref="WebAddressType.ICQ"/>
/// <br/><see cref="WebAddressType.WeChat"/>
/// <br/><see cref="WebAddressType.QQ"/>
/// <br/><see cref="WebAddressType.Telegraph"/>
/// <br/><see cref="WebAddressType.Telegram"/>
/// <br/><see cref="WebAddressType.MeWe"/>
/// <br/><see cref="WebAddressType.Parler"/>
/// <br/><see cref="WebAddressType.Gab"/>
/// <br/><see cref="WebAddressType.Unknown"/>
/// </summary>
public string Type { get; set; }
}
}