static public void CreateSubscription(RegisterNotificationsRequest request) { TravelerRepository travelersRepository = new TravelerRepository(); Traveler traveler = travelersRepository.FindBy(t => t.TravelerUserIdentity == request.DeviceID).SingleOrDefault(); if (traveler != null) { WNSManager.RegisterDevice(traveler.TravelerId, request.DeviceURI); } }
public HttpResponseMessage RegisterForNotifications ([FromBody] RegisterNotificationsRequest request) { var traveler = Travelers.FindBy(t => t.TravelerUserIdentity == request.DeviceID).SingleOrDefault(); // Handling the HTTP status codes if (traveler == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } else { WNSManager.RegisterDevice(request.DeviceID, request.DeviceURI); return(Request.CreateResponse(HttpStatusCode.Created, request)); } }
static public void Publish(FlightSchedule updatedSchedule) { var flightsRepository = new FlightRepository(); var reservationsRepository = new ReservationRepository(); Flight updatedFlight = flightsRepository.GetFlight(updatedSchedule.Flight.FlightId); var reservations = reservationsRepository.FindBy( r => r.DepartureFlight.FlightScheduleID == updatedSchedule.FlightScheduleId); var travelers = from r in reservations select r.TravelerId; var notification = new ToastNotificationTextAndImage { TargetClientDevices = travelers.ToList(), TextHeading = string.Format("Flight {0} Was Rescheduled", updatedFlight.FlightNumber), TextBodyWrap = string.Format("Flight {0} was rescheduled for {1}", updatedFlight.FlightNumber, updatedSchedule.ActualDeparture) }; WNSManager.DispatchNotification(notification); }
public override bool OnStart() { WNSManager.Authenticate(); // Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit = 12; // Create the queue if it does not exist already string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString); if (!namespaceManager.QueueExists(QueueName)) { namespaceManager.CreateQueue(QueueName); } // Initialize the connection to Service Bus Queue Client = QueueClient.CreateFromConnectionString(connectionString, QueueName); IsStopped = false; return(base.OnStart()); }
static NotificationsController() { WNSManager.Authenticate(); }