Mise à niveau de la plateforme .Net :

Mono 4.2.1 Asp.Net 4.0.30319.17020

* Web.config: l'entité nbsp n'est plus supportée

* Yavsc.csproj: mise à niveau de Newtownsoft.Json

* packages.config: mise à jour des paquets nuget

* GoogleHelpers.cs: ça marchait avant, mais c'etait mal écrit et a
  cassé à la mise à niveau de la plateforme.

* SimpleJsonPostMethod.cs: using Newtonsoft.Json
This commit is contained in:
Paul Schneider 2015-12-30 21:29:58 +01:00
commit d40679cdf4
7 changed files with 56 additions and 40 deletions

View file

@ -1,3 +1,10 @@
2015-12-30 Paul Schneider <paul@pschneider.fr>
* GoogleHelpers.cs: ça marchait avant, mais c'etait mal écrit
et a cassé à la mise à niveau de la plateforme.
* SimpleJsonPostMethod.cs: using Newtonsoft.Json
2015-12-30 Paul Schneider <paul@pschneider.fr>
* PerformerContact.cs: modèle de donnnée d'un message

View file

@ -145,14 +145,14 @@ namespace Yavsc.Model.Google.Api
public static MessageWithPayloadResponse NotifyEvent (NominativeEventPub evpub)
{
using (var r =
new SimpleJsonPostMethod<MessageWithPayload<YaEvent>,MessageWithPayloadResponse> (
new SimpleJsonPostMethod<MessageWithPayload<NominativeEventPub>,MessageWithPayloadResponse> (
"https://gcm-http.googleapis.com/gcm/send")) {
r.SetCredential ("key="+ConfigurationManager.AppSettings ["GOOGLE_API_KEY"]);
var userprofile = ProfileBase.Create (evpub.PerformerName);
var regid = userprofile.GetPropertyValue ("gregid") as string;
if (regid == null)
throw new NotImplementedException ("Notification via e-mail");
var msg = new MessageWithPayload<YaEvent> () {
var msg = new MessageWithPayload<NominativeEventPub> () {
notification = new Notification() { title = evpub.Title, body = evpub.Description, icon = "icon" },
data = evpub, registration_ids = new string[] { regid } };
return r.Invoke (msg);

View file

@ -23,6 +23,8 @@ using System.Net;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace Yavsc.Model
{
@ -75,18 +77,17 @@ namespace Yavsc.Model
/// <param name="query">Query.</param>
public TAnswer Invoke(TQuery query)
{
DataContractJsonSerializer serquery = new DataContractJsonSerializer (typeof(TQuery));
DataContractJsonSerializer seransw = new DataContractJsonSerializer (typeof(TAnswer));
using (Stream streamQuery = request.GetRequestStream()) {
serquery.WriteObject (streamQuery, query);
}
using (Stream streamQuery = request.GetRequestStream()) {
using (StreamWriter writer = new StreamWriter(streamQuery)) {
writer.Write (JsonConvert.SerializeObject(query));
}}
TAnswer ans = default (TAnswer);
using (WebResponse response = Request.GetResponse ()) {
using (Stream responseStream = response.GetResponseStream ()) {
ans = (TAnswer) seransw.ReadObject(responseStream);
using (StreamReader rdr = new StreamReader (responseStream)) {
ans = (TAnswer) JsonConvert.DeserializeObject<TAnswer> (rdr.ReadToEnd ());
}
}
response.Close();
}