implement mvc with call notification api from electron

This commit is contained in:
Gregor Biswanger
2017-10-03 04:52:43 +02:00
parent b16e0b0bf9
commit 5bb5bb24de
4 changed files with 29 additions and 10 deletions

View File

@@ -7,20 +7,20 @@ using System;
namespace ElectronNET.API
{
public class App
public static class App
{
private readonly Socket _socket;
private readonly JsonSerializer _jsonSerializer;
private static Socket _socket;
private static JsonSerializer _jsonSerializer;
public App(int width, int height, bool show)
public static void OpenWindow(int width, int height, bool show)
{
_jsonSerializer = new JsonSerializer()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
var socket = IO.Socket("http://localhost:3000");
socket.On(Socket.EVENT_CONNECT, () =>
_socket = IO.Socket("http://localhost:3000");
_socket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("Verbunden!");
@@ -30,9 +30,13 @@ namespace ElectronNET.API
Show = show
};
socket.Emit("createBrowserWindow", JObject.FromObject(browserWindowOptions, _jsonSerializer));
socket.Emit("createNotification");
_socket.Emit("createBrowserWindow", JObject.FromObject(browserWindowOptions, _jsonSerializer));
});
}
public static void CreateNotification(NotificationOptions notificationOptions)
{
_socket.Emit("createNotification", JObject.FromObject(notificationOptions, _jsonSerializer));
}
}
}

View File

@@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using ElectronNET.API;
using ElectronNET.API.Entities;
namespace ElectronNET.WebApp.Controllers
{
@@ -12,5 +14,15 @@ namespace ElectronNET.WebApp.Controllers
{
return View();
}
public IActionResult SayHello()
{
App.CreateNotification(new NotificationOptions {
Title = "Hallo Robert",
Body = "Nachricht von ASP.NET Core App"
});
return RedirectToAction("Index");
}
}
}

View File

@@ -35,7 +35,7 @@ namespace ElectronNET.WebApp
template: "{controller=Home}/{action=Index}/{id?}");
});
var electronApp = new App(800, 600, true);
App.OpenWindow(800, 600, true);
}
}
}

View File

@@ -6,6 +6,9 @@
<title>Home</title>
</head>
<body>
Hello from MVC!
<h3>Hello from ASP.NET Core MVC!</h3>
<br /><br />
<input type="button" value="Call Notification" onclick="location.href='@Url.Action("SayHello", "Home")'" />
</body>
</html>