// GET: http://www.qcue.me/api/incoming_sms?to=447860033153&from=441234567890&content=Hello+World&msg_id=AB_12345 public HttpResponseMessage Get([FromUri]IncomingSmsMessage message) { Trace.TraceInformation("Message: {0}", message); /* if (this.ModelState.IsValid) { Trace.TraceInformation("Message: {0}", message); return Request.CreateResponse(HttpStatusCode.BadRequest, this.ModelState); } */ var qbase = new QBase("https://qcue-live.firebaseio.com"); var user = qbase.GetUserByMobile(message.From); // this.EnsureUserIsKnown(message, user); if (this.IsUpdateUserMessage(message)) { this.UpdateUser(message, qbase, user); } else { this.QueueUser(message, qbase, user); } var response = this.Request.CreateResponse(HttpStatusCode.OK); return response; }
public Q Get(string id) { var qbase = new QBase("https://qcue-live.firebaseio.com"); var queue = qbase.GetQueueByShortCode(id); return queue; }
public User Get(string id) { var qbase = new QBase("https://qcue-live.firebaseio.com"); var user = qbase.GetUserByMobile(id); return user; }
private void QueueUser(IncomingSmsMessage message, QBase qbase, User user) { var q = qbase.GetQueueByShortCode(message.Content); this.EnsureQueueIsKnown(message, q); string status = null; if (user == null) { user = qbase.AddAnonymousUser(message.From); // TODO: status = "registering"; status = "joined"; } else { /* var usersInQueue = qbase.GetUsersInQueue(q.queueId); if (usersInQueue.Count(each => each.userId == user.userId) != 0) { string warningMessage = String.Format( "User \"{0}\" is already in queue \"{1}\". User will not be added again.", user.userId, q.queueId); Trace.TraceWarning(warningMessage); return; } */ status = "joined"; } qbase.AddUserToQueue(q.queueId, new QUser { userId = user.userId, status = status }); }
private void UpdateUser(IncomingSmsMessage message, QBase qbase, User user) { string fullName = message.Content.Substring(NameTag.Length).Trim(); user.fullName = fullName; user.status = "registered"; qbase.UpdateUser(user); Trace.TraceInformation( "Updated user.fulName for \"{0}\" to \"{1}\"", user.userId, user.fullName); }