Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus iaculis tincidunt porttitor. Aenean nec eleifend libero. Pellentesque volutpat eros quis eros rutrum ornare. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam a sapien sodales, vehicula ex at, ultrices felis. Nunc eget bibendum lectus, vel tincidunt massa. Praesent id ultricies massa. Sed cursus libero eget metus scelerisque convallis. Ut efficitur felis vel purus vehicula euismod. Nullam a finibus lorem. Phasellus a nibh imperdiet, porta diam vitae, ornare enim.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus eros est, fringilla a cursus nec, placerat vitae risus. Sed sit amet pharetra orci. Suspendisse sem urna, blandit vel felis condimentum, finibus interdum sem. Fusce eget pulvinar leo. Cras mattis nisi libero, eu tincidunt ex facilisis nec. In porta sem neque, sit amet semper mi hendrerit sit amet. Etiam in sapien leo. Cras egestas augue magna, vel laoreet ipsum dignissim quis. Aliquam lacinia sit amet sapien a vestibulum. Pellentesque id finibus magna, quis lobortis ante. Mauris efficitur blandit nisi, et tincidunt urna venenatis at. Pellentesque aliquam tellus eu sodales lacinia. Nulla in mauris vitae dolor elementum mollis in vitae arcu. Pellentesque a velit et velit euismod consequat. Sed dapibus faucibus nisl nec accumsan.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce ac ipsum volutpat, sodales eros at, accumsan nisi. Sed et dui condimentum, volutpat ligula a, scelerisque nisi. Morbi condimentum ac velit quis semper. Sed bibendum urna ut libero cursus efficitur. Nulla in turpis lobortis, efficitur ipsum sed, volutpat ligula. Nam vehicula, nulla eu ullamcorper pulvinar, ante enim vulputate ligula, nec ultricies felis enim quis tellus. Curabitur nec efficitur est. Aliquam id erat ut risus fringilla finibus id ac lorem. Mauris placerat ex eu lacus vehicula, ut placerat enim lacinia.
Vivamus quam lorem, iaculis quis nibh id, tempus eleifend velit. Phasellus malesuada sapien eu felis condimentum, at molestie lectus tristique. Phasellus euismod mauris enim, nec tincidunt est vehicula in. Nulla facilisi. Vivamus venenatis, libero in congue pretium, dolor velit tristique leo, vel luctus dolor magna et dolor. Vivamus a fermentum ipsum, vel vulputate nulla. Fusce nec mattis nibh. Aenean et leo sit amet nisl convallis elementum. Nunc sagittis libero sit amet lorem consequat, vitae aliquet metus ultrices. Maecenas commodo tempor nunc non aliquet. Praesent faucibus elementum est, ut posuere lacus dapibus et. Sed iaculis aliquet vehicula. Quisque dignissim, est a finibus convallis, urna enim elementum odio, ac mollis purus ipsum sagittis velit. Fusce magna justo, laoreet vel elit ut, gravida consectetur arcu. Aenean molestie eu sem id vehicula. Phasellus non nisl et dui venenatis cursus.
Duis scelerisque erat sit amet vulputate viverra. Donec aliquet purus ante, ac convallis ipsum semper vitae. Quisque ullamcorper, ligula ac euismod rhoncus, urna ligula luctus risus, et finibus nulla magna vitae erat. Praesent ut tellus in metus vestibulum tincidunt. Ut et ex justo. Donec faucibus velit vel pulvinar pharetra. Sed ex orci, ultrices ac ligula vel, pretium sagittis ligula. Morbi congue est nec neque maximus sodales. Fusce efficitur nisi in ex maximus, vel bibendum enim cursus. Quisque facilisis, lorem vitae consequat semper, sapien neque pharetra enim, suscipit elementum massa nibh sed ex. Aenean porttitor elementum felis. Ut accumsan metus tellus, id elementum nisl pulvinar a. Fusce volutpat est sit amet sem imperdiet, vel vehicula tortor pretium. Interdum et malesuada fames ac ante ipsum primis in faucibus.

Code


HomeController.cs
Program.cs
ProjectsController.cs
Startup.cs
particles.js
site.css
site.js
Dark/Light Mode
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using PortfolioDocker.Models;

namespace PortfolioDocker.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Contact()
        {
            //SendEmail("jannick.schalkwijk@hotmail.com", "Test", "Its working!");
            return View();
        }

        [HttpGet("About")]
        public ContentResult About()
        {
            return Content("An API listing authors of docs.asp.net.");
        }

        public ActionResult SendEmail(string sender, string subject, string message)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var email = new MailAddress("jannick.schalkwijk@gmail.com", "Portfolio");
                    var password = HiddenOfcourse;
                    var receiverEmail = new MailAddress("jannick.schalkwijk@hotmail.com", "You");
                    var body = string.Format("Sender: {0}," + Environment.NewLine + Environment.NewLine + "{1}", sender, message);

                    var smtp = new SmtpClient
                    {
                        Host = "smtp.gmail.com",
                        Port = 587,
                        EnableSsl = true,
                        DeliveryMethod = SmtpDeliveryMethod.Network,
                        UseDefaultCredentials = false,
                        Credentials = new NetworkCredential(email.Address, password)
                    };
                    using (var mess = new MailMessage(email, receiverEmail)
                    {
                        Subject = subject,
                        Body = body
                    })
                    {
                        smtp.Send(mess);
                    }
                    ViewBag.Message = "E-mail sent!";
                    return View("Contact");
                }
            }
            catch (Exception e)
            {
                
                ViewBag.Error = "Some Error";
            }

            return View("Contact");
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}

Downloads



HomeController.cs Program.cs ProjectsController.cs Startup.cs particles.js site.css site.js