1
0
This commit is contained in:
Michael Gordeev
2019-10-17 20:29:59 +03:00
parent bd376feb9a
commit 6fcc621f20
5 changed files with 75 additions and 39 deletions
@@ -1,10 +1,21 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using MyWebsite.Models;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Net;
namespace MyWebsite.Controllers namespace MyWebsite.Controllers
{ {
public class ContactsController : Controller public class ContactsController : Controller
{ {
public IActionResult Index() => public IActionResult Index()
View(); {
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString($"https://{Request.Host}/Links.json"));
ViewData["contactLinks"] = links.Values.ToList().FindAll(i => i.CanContactMe);
ViewData["otherLinks"] = links.Values.ToList().FindAll(i => !i.CanContactMe);
return View();
}
} }
} }
+1
View File
@@ -11,5 +11,6 @@ namespace MyWebsite.Models
public string Socicon { get; set; } public string Socicon { get; set; }
public string Username { get; set; } public string Username { get; set; }
public string Url { get; set; } public string Url { get; set; }
public bool CanContactMe { get; set; }
} }
} }
+16 -10
View File
@@ -9,18 +9,24 @@
<article> <article>
<p> <p>
<a class="socicon-outlook"></a> Email: <a href="mailto:michael.xfox@outlook.com">michael.xfox@outlook.com</a><br> @foreach(Link link in ViewData["contactLinks"] as List<Link>)
<a class="socicon-linkedin"></a> LinkedIn: <a href="//linkedin.com/in/xfox" target="_blank">@@xfox</a><br> {
<!--<a class="socicon-facebook"></a> Facebook: <a href="//facebook.com/xfox111" target="_blank">@@xfox111</a><br/>--> <a class="socicon-@(link.Socicon)"></a> @(link.Title) <a href="@(link.Url)">@(link.Username)</a>
<a class="socicon-vkontakte"></a> Vkontakte: <a href="//vk.com/xfox.mike" target="_blank">@@xfox.mike</a><br> @if((ViewData["contactLinks"] as List<Link>).LastOrDefault() != link)
<a class="socicon-telegram"></a> Telegram: <a href="//t.me/xfox111" target="_blank">@@xfox111</a><br /> {
<a class="socicon-skype"></a> Skype: <a href="//join.skype.com/invite/eVp6BISfcmNz" target="_blank">@@mag48gordeev</a> <br />
}
}
</p> </p>
<p> <p>
<a class="socicon-twitter"></a> Twitter: <a href="//twitter.com/xfox111" target="_blank">@@xfox111</a><br> @foreach (Link link in ViewData["otherLinks"] as List<Link>)
<a class="socicon-twitch"></a> Twitch: <a href="//twitch.com/xfox111" target="_blank">@@xfox111</a><br> {
<a class="socicon-youtube"></a> YouTube: <a href="//www.youtube.com/channel/UC3H2q5Ss_CR3wP_S1zV8joA" target="_blank">@@UC3H2q5Ss_CR3wP_S1zV8joA</a><br> <a class="socicon-@(link.Socicon)"></a> @(link.Title) <a href="@(link.Url)">@(link.Username)</a>
<a class="socicon-github"></a> GitHub: <a href="//github.com/xfox111" target="_blank">@@xfox111</a><br> @if ((ViewData["otherLinks"] as List<Link>).LastOrDefault() != link)
{
<br />
}
}
</p> </p>
</article> </article>
@@ -1,4 +1,10 @@
<!DOCTYPE html> @using Newtonsoft.Json
@using System.Net
@{
Dictionary<string, Link> links = JsonConvert.DeserializeObject<Dictionary<string, Link>>(new WebClient().DownloadString("Links.json"));
}
<!DOCTYPE html>
<html> <html>
<head> <head>
<title>@ViewData["Title"] - XFox111.NET</title> <title>@ViewData["Title"] - XFox111.NET</title>
@@ -54,9 +60,12 @@
<footer> <footer>
<span class="comment">// Copyright &copy;2019 <b>Michael "XFox" Gordeev</b></span> <span class="comment">// Copyright &copy;2019 <b>Michael "XFox" Gordeev</b></span>
<a class="socicon-mailru" href="mailto:michael.xfox@outlook.com" target="_blank" title="E-mail"></a> @{
<a class="socicon-linkedin" href="https://linkedin.com/in/xfox" target="_blank" title="LinkedIn"></a> foreach (Link link in new List<Link> { links["email"], links["linkedin"], links["github"] })
<a class="socicon-github" href="https://github.com/xfox111" target="_blank" title="GitHub"></a> {
<a class="socicon-@(link.Socicon)" href="@(link.Url)" target="_blank" title="@(link.Title)"></a>
}
}
</footer> </footer>
</body> </body>
</html> </html>
+32 -23
View File
@@ -3,54 +3,63 @@
"Title": "Email", "Title": "Email",
"Socicon": "outlook", "Socicon": "outlook",
"Username": "michael.xfox@outlook.com", "Username": "michael.xfox@outlook.com",
"Url": "mailto:michael.xfox@outlook.com" "Url": "mailto:michael.xfox@outlook.com",
"CanContactMe": "true"
}, },
"linkedin": { "linkedin": {
"Title": "LinkedIn", "Title": "LinkedIn",
"Socicon": "linkedin", "Socicon": "linkedin",
"Username": "@xfox", "Username": "@xfox",
"Url": "//linkedin.com/in/xfox" "Url": "//linkedin.com/in/xfox",
"CanContactMe": "true"
}, },
"vk": { "vk": {
"Title": "Vkontakte", "Title": "Vkontakte",
"Socicon": "linkedin", "Socicon": "vkontakte",
"Username": "@xfox", "Username": "@xfox.mike",
"Url": "//linkedin.com/in/xfox" "Url": "//vk.com/xfox.mike",
"CanContactMe": "true"
}, },
"telegram": { "telegram": {
"Title": "Telegram", "Title": "Telegram",
"Socicon": "linkedin", "Socicon": "telegram",
"Username": "@xfox", "Username": "@xfox111",
"Url": "//linkedin.com/in/xfox" "Url": "//t.me/xfox111",
"CanContactMe": "true"
}, },
"skype": { "skype": {
"Title": "Skype", "Title": "Skype",
"Socicon": "linkedin", "Socicon": "skype",
"Username": "@xfox", "Username": "@mag48gordeev",
"Url": "//linkedin.com/in/xfox" "Url": "//join.skype.com/invite/eVp6BISfcmNz",
"CanContactMe": "true"
}, },
"twitter": { "twitter": {
"Title": "Twitter", "Title": "Twitter",
"Socicon": "linkedin", "Socicon": "twitter",
"Username": "@xfox", "Username": "@xfox111",
"Url": "//linkedin.com/in/xfox" "Url": "//twitter.com/xfox111",
"CanContactMe": "false"
}, },
"twitch": { "twitch": {
"Title": "Twitch", "Title": "Twitch",
"Socicon": "linkedin", "Socicon": "twitch",
"Username": "@xfox", "Username": "@xfox111",
"Url": "//linkedin.com/in/xfox" "Url": "//twitch.com/xfox111",
"CanContactMe": "false"
}, },
"youtube": { "youtube": {
"Title": "YouTube", "Title": "YouTube",
"Socicon": "linkedin", "Socicon": "youtube",
"Username": "@xfox", "Username": "@UC3H2q5Ss_CR3wP_S1zV8joA",
"Url": "//linkedin.com/in/xfox" "Url": "//www.youtube.com/channel/UC3H2q5Ss_CR3wP_S1zV8joA",
"CanContactMe": "false"
}, },
"github": { "github": {
"Title": "GitHub", "Title": "GitHub",
"Socicon": "linkedin", "Socicon": "github",
"Username": "@xfox", "Username": "@xfox111",
"Url": "//linkedin.com/in/xfox" "Url": "//github.com/xfox111",
"CanContactMe": "false"
} }
} }