public void NotifyEventUpdateLocation(EventRequestSlim eventRequest, EventSlim evt) { _taskQueue.Enqueue(new { RegistrationIds = evt.UserList.Where(user => !_isRequester(user.UserId, evt.InitiatorId.ToString()) && _isValidGCMId(user.GCMClientId)).Select(user => user.GCMClientId), NotificationData = PushMessageComposer.GetMessageForUpdateLocation(evt, eventRequest, "EventUpdateLocation") }); }
//Used for event invite, event end public static PushNotification GetMessageForLeaveEvent(EventSlim evt, EventRequestSlim eventRequest) { return(new PushNotification() { EventId = evt.EventId.ToString(), EventName = evt.Name, Type = "EventLeave", EventResponderId = eventRequest.RequestorId.ToString(), EventResponderName = evt.UserList.Where(x => x.UserId.ToString().ToLower() == eventRequest.RequestorId.ToString().ToLower()).ToList()[0].ProfileName.ToString() }); }
//Used for update event location public static PushNotification GetMessageForUpdateLocation(EventSlim evt, EventRequestSlim eventRequest, string notificationType) { return(new PushNotification() { EventId = evt.EventId.ToString(), EventName = evt.Name, Type = notificationType, InitiatorId = evt.InitiatorId.ToString(), InitiatorName = evt.InitiatorName, DestinationName = eventRequest.DestinationName }); }
//Used for event acceptance public static PushNotification GetMessage(EventRequestSlim eventRequest, EventSlim evt, string notificationType) { return(new PushNotification() { EventId = evt.EventId.ToString(), EventName = evt.Name, Type = notificationType, //"EventResponse", InitiatorId = evt.InitiatorId.ToString(), EventResponderId = eventRequest.RequestorId.ToString(), EventResponderName = evt.UserList.First(x => x.UserId.ToString().ToLower().Equals(eventRequest.RequestorId.ToLower())).ProfileName, EventAcceptanceStateId = eventRequest.EventAcceptanceStateId, TrackingAccepted = eventRequest.TrackingAccepted }); }