From ee65dbc1f378c298b1a4a24d75d918706e8a434d Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Wed, 7 May 2014 13:34:13 -0700 Subject: [PATCH] adding redis read/writes --- src/NOCQ/DB/RedisDataase.cs | 31 ++++++++++++++++++++++++++++++- src/NOCQ/Model/Alert.cs | 1 - src/NOCQ/NOCQ.csproj | 4 ++++ src/NOCQ/packages.config | 1 + 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/NOCQ/DB/RedisDataase.cs b/src/NOCQ/DB/RedisDataase.cs index 6400059..3166e72 100644 --- a/src/NOCQ/DB/RedisDataase.cs +++ b/src/NOCQ/DB/RedisDataase.cs @@ -1,11 +1,40 @@ using System; using ctstone.Redis; - +using System.Threading.Tasks; +using System.Configuration; +using Newtonsoft.Json; namespace NOCQ { public class RedisDataase { + public RedisDataase(){} + public static async Task SaveAlert(IAlert alert) + { + using (var redis = new RedisClientAsync(ConfigurationManager.AppSettings["DBQueueKey"], + Convert.ToInt32(ConfigurationManager.AppSettings["Port"]), + Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"]) + )) + { + await redis.LPush(ConfigurationManager.AppSettings["DBQueueKey"], alert); + + } + + } + + public static async Task GetNextAlert() + { + using (var redis = new RedisClientAsync(ConfigurationManager.AppSettings["DBQueueKey"], + Convert.ToInt32(ConfigurationManager.AppSettings["Port"]), + Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"]) + )) + { + var ts = await redis.RPop(ConfigurationManager.AppSettings["DBQueueKey"]); + + return JsonConvert.DeserializeObject(ts); + + } + } } } diff --git a/src/NOCQ/Model/Alert.cs b/src/NOCQ/Model/Alert.cs index fa5908e..d0fb4a5 100644 --- a/src/NOCQ/Model/Alert.cs +++ b/src/NOCQ/Model/Alert.cs @@ -4,7 +4,6 @@ namespace NOCQ { public class Alert : IAlert { - public DateTime TimeStamp {get; set;} public string Source {get;set;} public string System {get;set;} diff --git a/src/NOCQ/NOCQ.csproj b/src/NOCQ/NOCQ.csproj index 0a1d4a5..6531573 100644 --- a/src/NOCQ/NOCQ.csproj +++ b/src/NOCQ/NOCQ.csproj @@ -55,6 +55,10 @@ ..\..\packages\AE.Net.Mail.1.7.9.1\lib\net45\AE.Net.Mail.dll + + + ..\..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll + diff --git a/src/NOCQ/packages.config b/src/NOCQ/packages.config index f7664ea..136988d 100644 --- a/src/NOCQ/packages.config +++ b/src/NOCQ/packages.config @@ -3,4 +3,5 @@ + \ No newline at end of file