public IActionResult ReceiveMessage([FromBody] SMS Message, [FromServices] SMSArbiter arbiter) { try { arbiter.StoreInboundMessage(Message); return(Ok()); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult DisconnectSim(string SimNumber, [FromServices] SMSArbiter arbiter) { try { arbiter.DisconnectedSIMs.Add(SimNumber); return(Ok()); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult NewSim(string SimNumber, [FromServices] SMSArbiter arbiter) { try { arbiter.StartNewSimQueue(SimNumber); return(Ok()); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult ConnectSim(string SimNumber, [FromServices] SMSArbiter arbiter) { try { if (arbiter.DisconnectedSIMs.Contains(SimNumber)) { arbiter.DisconnectedSIMs.Remove(SimNumber); } return(Ok()); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public ActionResult <string> GetSpecificPIN(int number, [FromServices] SMSArbiter arbiter) { try { var PINMatch = arbiter._DBManager.PINList.SingleOrDefault(PIN => PIN.Number == number); if (PINMatch == null) { return(NotFound()); } return(Ok(PINMatch)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public ActionResult <string> GetPANsByPIN(int number, [FromServices] SMSArbiter arbiter) { try { var PINMatch = arbiter._DBManager.PINList.SingleOrDefault(PIN => PIN.Number == number); if (PINMatch == null) { return(NotFound()); } var PANMatches = arbiter._DBManager.PANList.Where(pan => pan.PIN == number); return(Ok(PANMatches)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult PostReadStatus(int PIN, string PAN, [FromServices] SMSArbiter arbiter) { try { var PINMatch = arbiter._DBManager.PINList.SingleOrDefault(P => P.Number == PIN); if (PINMatch == null) { return(NotFound()); } arbiter._DBManager.Enqueue(string.Format("UPDATE allowed_phone_numbers SET ConversationRead = 1 WHERE PIN = {0} AND p_number = '{1}'", PIN, PAN)); return(Ok()); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult Post([FromBody] SingleMessage message, [FromServices] SMSArbiter arbiter) { try { if (message.Body.MessageId == Guid.Empty) { Guid messageId = Guid.NewGuid(); message.Body.MessageId = messageId; } arbiter.StorePendingMessage(message); arbiter._queue.Post(message); return(Ok(message.Body.MessageId)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public ActionResult <string> GetConversation(int Number, string PAN, [FromQuery] DateTime?BeforeDate, [FromServices] SMSArbiter arbiter) { try { var PINMatch = arbiter._DBManager.PINList.SingleOrDefault(PIN => PIN.Number == Number); if (PINMatch == null) { return(NotFound()); } var Conversation = arbiter.GetConversation(Number, PAN, BeforeDate); return(Ok(Conversation)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public ActionResult <string> GetConversationsByPIN(int number, [FromQuery] DateTime?FromDate, [FromServices] SMSArbiter arbiter) { try { var PINMatch = arbiter._DBManager.PINList.SingleOrDefault(PIN => PIN.Number == number); if (PINMatch == null) { return(NotFound()); } var PINConversations = arbiter.GetAllConversations(number, FromDate); return(Ok(PINConversations)); } catch { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public ActionResult <IEnumerable <PIN> > GetAllPINs([FromServices] SMSArbiter arbiter) { return(Ok(arbiter._DBManager.PINList)); }
public void Post([FromBody] SingleMessage value, [FromServices] SMSArbiter arbiter) { arbiter._queue.Post(value); }