Пример #1
0
 public IActionResult ReceiveMessage([FromBody] SMS Message, [FromServices] SMSArbiter arbiter)
 {
     try
     {
         arbiter.StoreInboundMessage(Message);
         return(Ok());
     }
     catch
     {
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
Пример #2
0
 public IActionResult DisconnectSim(string SimNumber, [FromServices] SMSArbiter arbiter)
 {
     try
     {
         arbiter.DisconnectedSIMs.Add(SimNumber);
         return(Ok());
     }
     catch
     {
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
Пример #3
0
 public IActionResult NewSim(string SimNumber, [FromServices] SMSArbiter arbiter)
 {
     try
     {
         arbiter.StartNewSimQueue(SimNumber);
         return(Ok());
     }
     catch
     {
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
Пример #4
0
 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));
     }
 }
Пример #5
0
 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));
     }
 }
Пример #6
0
 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));
     }
 }
Пример #7
0
 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));
     }
 }
Пример #8
0
 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));
     }
 }
Пример #9
0
 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));
     }
 }
Пример #10
0
        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));
            }
        }
Пример #11
0
 public ActionResult <IEnumerable <PIN> > GetAllPINs([FromServices] SMSArbiter arbiter)
 {
     return(Ok(arbiter._DBManager.PINList));
 }
Пример #12
0
 public void Post([FromBody] SingleMessage value, [FromServices] SMSArbiter arbiter)
 {
     arbiter._queue.Post(value);
 }