示例#1
0
        public async Task <string> OoredooSendSmsAsync(string mobile, string message)
        {
            if (OoredooMessageService == null)
            {
                throw new NotImplementedException("MessageService has not been implemented.");
            }

            var ooredooMessage = new OoredooMessage
            {
                Body        = message,
                Destination = mobile
            };
            var result = await OoredooMessageService.SendAsync(ooredooMessage);

            return(result);
        }
示例#2
0
        public async Task <string> SendAsync(OoredooMessage message)
        {
            var customerID = Convert.ToInt32(ConfigurationManager.AppSettings["SmsCustomerID"]);
            var username   = ConfigurationManager.AppSettings["SmsUsername"];
            var password   = ConfigurationManager.AppSettings["SmsPassword"];

            // if you want to delay your message to a certain time
            // uncomment this and modify this based on your requirements and add to SendSmsAsync as an argument
            //string defDate = DateTime.UtcNow.AddHours(3).ToString("yyyyMMddhhmmss");

            MessengerSoapClient messenger = new MessengerSoapClient("MessengerSoap");

            SoapUser user = new SoapUser
            {
                CustomerID = customerID,
                Name       = username,
                Password   = password
            };
            AuthResult authData = messenger.Authenticate(user);

            if (authData.Result == "OK")
            {
                var sendResult =
                    await messenger.SendSmsAsync(
                        user,
                        authData.Originators[0],
                        message.Body,
                        message.Destination,
                        MessageType.Latin,
                        null, false, false, false);

                SmsStatus smsStatus = await messenger.GetSmsStatusAsync(user, sendResult.TransactionID, true);

                return(smsStatus.Result);
            }
            return(authData.Result);
        }