Ejemplo n.º 1
0
        public SMSResult SendSMS(Models.SmsRequest smsRequest)
        {
            //TODO: use HttpResponseMessage for returning
            Bogus.Faker faker  = new Bogus.Faker();
            SMSResult   result = new SMSResult()
            {
                Id = Guid.NewGuid(), ExternalId = smsRequest.messageExternalId
            };

            //try
            //{
            ApplyDelay();
            // simulate a random result behaviour
            // 50% to be ok
            if (faker.Random.Number(100) < 10)
            {
                result.Status = MessageStatus.OK;
            }
            else
            {
                // exclude ok
                result.Status = faker.Random.Enum(MessageStatus.OK);
            }

            switch (result.Status)
            {
            case MessageStatus.Error:
                result.ReturnedMessage = faker.System.Exception().Message;
                break;

            case MessageStatus.InvalidCredentials:
                result.ReturnedMessage = "Your credentials are invalid!";
                break;

            case MessageStatus.InvalidNumber:
                result.ReturnedMessage = "This mobile number is invalid!";
                break;

            case MessageStatus.MessageTooLong:
                result.ReturnedMessage = "This message is too long!";
                break;

            case MessageStatus.NotEnoughCredits:
                result.ReturnedMessage = "NotEnoughCredits";
                break;

            case MessageStatus.OK:
                DecreaseCredit();
                break;

            case MessageStatus.Pending:
                result.ReturnedMessage = "Pending....";
                break;
            }
            result.TimeStamp = DateTime.Now;
            return(result);
            //}
            //catch (Exception ex)
            //{

            //    return InternalServerError(ex);
            //}
        }
Ejemplo n.º 2
0
        public SMSResult ReSendSMS(Models.SmsRequest smsRequest)
        {
            // Suppose the SMS message is retrieved from the providers DB

            return(SendSMS(smsRequest));
        }