Beispiel #1
0
 public abstract void SendEventNotifications(NotificationType type, Guid eventId, EventMessageData data);
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
	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");
		}
	}