Removed QueryString.Net package and replaced it with Data.Json

Version 1.4
This commit is contained in:
2017-10-19 15:53:03 +02:00
committed by BONNEVILLE Geoffroy
parent 66fd87124b
commit 6bb37d9e70
7 changed files with 23 additions and 33 deletions

View File

@@ -1,8 +1,8 @@
using System;
using Windows.Data.Json;
using Windows.Data.Xml.Dom;
using Windows.UI.Notifications;
using Windows.UI.Xaml;
using Microsoft.QueryStringDotNET;
using ModernKeePass.Interfaces;
namespace ModernKeePass.Common
@@ -69,12 +69,13 @@ namespace ModernKeePass.Common
toastElements[0].AppendChild(notificationXml.CreateTextNode($"{entityType} {entity.Name} deleted"));
toastElements[1].AppendChild(notificationXml.CreateTextNode("Click me to undo"));
var toastNode = notificationXml.SelectSingleNode("/toast");
((XmlElement)toastNode)?.SetAttribute("launch", new QueryString
{
{ "entityType", entityType },
{ "entityId", entity.Id }
}.ToString());
var launch = new JsonObject
{
{"entityType", JsonValue.CreateStringValue(entityType)},
{"entityId", JsonValue.CreateStringValue(entity.Id)}
};
((XmlElement)toastNode)?.SetAttribute("launch", launch.Stringify());
var toast = new ToastNotification(notificationXml)
{
@@ -87,10 +88,11 @@ namespace ModernKeePass.Common
private static void Toast_Dismissed(ToastNotification sender, ToastDismissedEventArgs args)
{
var toastNode = sender.Content.SelectSingleNode("/toast");
var launchArguments = QueryString.Parse(((XmlElement)toastNode)?.GetAttribute("launch"));
if (toastNode == null) return;
var launchArguments = JsonObject.Parse(((XmlElement)toastNode).GetAttribute("launch"));
var app = (App)Application.Current;
var entity = app.PendingDeleteEntities[launchArguments["entityId"]];
app.PendingDeleteEntities.Remove(launchArguments["entityId"]);
var entity = app.PendingDeleteEntities[launchArguments["entityId"].GetString()];
app.PendingDeleteEntities.Remove(launchArguments["entityId"].GetString());
entity.CommitDelete();
}
}