public abstract void SendEventNotifications(NotificationType type, Guid eventId, EventMessageData data);
public override void SendEventNotifications(NotificationType type, Guid eventId, EventMessageData data) { using (var ctx = new OpenGroovesEntities()) { string typeStr = type.ToString(); // Get list of users who are following this band and have notifications on to receive ctx.ContextOptions.LazyLoadingEnabled = true; var emails = (from e in ctx.BandsEvents join r in ctx.UsersBands on e.BandId equals r.BandId join s in ctx.UserSettings on r.UserId equals s.UserId where e.EventId == eventId && s.Value == "True" && s.Key.Equals(typeStr, StringComparison.OrdinalIgnoreCase) select s.User.Email).Distinct().AsEnumerable(); var replacements = BuildReplacements(data); var msg = TemplateBuilder.LoadTemplate(type, replacements); SendMessage(msg, emails); } }
protected void HandleActivityDoingLuaTable(LuaTable luaTable, LuaTable luaTableToDo) { LoggerHelper.Debug("HandleActivityDoingLuaTable"); object obj; object objToDo; //if (Utils.ParseLuaTable(luaTable, typeof(Dictionary<int, EventMessageData>), out obj)) //{ // Mogo.Util.LoggerHelper.Debug("HandleActivityDoingLuaTable" + Mogo.RPC.Utils.PackLuaTable(luaTable)); // eventDoing.Clear(); // eventDoing = obj as Dictionary<int, EventMessageData>; // if (eventDoing == null) // LoggerHelper.Debug("HandleActivityDoingLuaTable Format Size: " + "eventDoing.Count == null"); // else // LoggerHelper.Debug("HandleActivityDoingLuaTable Format Size: " + eventDoing.Count); // SetActivityMessage(); //} //else //{ // MogoMsgBox.Instance.ShowFloatingText("HandleActivityDoingLuaTable Failed"); //} if (Utils.ParseLuaTable(luaTable, typeof(Dictionary<int, Dictionary<int, int>>), out obj) && Utils.ParseLuaTable(luaTableToDo, typeof(Dictionary<int, Dictionary<int, int>>), out objToDo)) { //Mogo.Util.LoggerHelper.Error("HandleActivityDoingLuaTable" + Mogo.RPC.Utils.PackLuaTable(luaTable)); //Mogo.Util.LoggerHelper.Error("HandleActivityToDoLuaTable" + Mogo.RPC.Utils.PackLuaTable(luaTableToDo)); eventDoing.Clear(); Dictionary<int, Dictionary<int, int>> adapter = obj as Dictionary<int, Dictionary<int, int>>; Dictionary<int, Dictionary<int, int>> toDoAdapter = objToDo as Dictionary<int, Dictionary<int, int>>; if (toDoAdapter != null && adapter != null) { foreach (var temp in adapter) { if (toDoAdapter.ContainsKey(temp.Key)) toDoAdapter.Remove(temp.Key); } } if (adapter != null) { foreach (var temp in adapter) { EventMessageData data = new EventMessageData(); data.is_finish = temp.Value[2]; data.is_reward = temp.Value[3]; data.accept_time = temp.Value[4]; data.is_doing = true; eventDoing.Add(temp.Key, data); } } if (toDoAdapter != null) { foreach (var tempToDo in toDoAdapter) { if (tempToDo.Value.Count == 1 && tempToDo.Value.ContainsKey(4)) { EventMessageData data = new EventMessageData(); data.is_finish = 0; data.is_reward = 0; data.accept_time = 0; data.is_doing = false; eventDoing.Add(tempToDo.Key, data); } } } if (eventDoing == null) LoggerHelper.Debug("HandleActivityDoingLuaTable Format Size: " + "eventDoing.Count == null"); else LoggerHelper.Debug("HandleActivityDoingLuaTable Format Size: " + eventDoing.Count); SetActivityMessage(); } else { LoggerHelper.Debug("HandleActivityDoingLuaTable Failed"); } }