private void SendSms(OutboundSms smsMessage) { _logger.Info("Sending " + smsMessage.ToLongString()); try { foreach (var recipient in smsMessage.SmsRecipients) { var client = new WebClient(); // Add a user agent header in case the requested URI contains a query. client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR1.0.3705;)"); client.QueryString.Add("user", _username); client.QueryString.Add("password", _password); client.QueryString.Add("api_id", _apiId); var num = recipient.PhoneNumber; client.QueryString.Add("to", num); client.QueryString.Add("text", smsMessage.Message); client.QueryString.Add("from", smsMessage.Sender); using (var data = client.OpenRead(_baseUrl)) { if (data != null) { using (var reader = new StreamReader(data)) { var response = reader.ReadToEnd(); _logger.Debug("Response from sending to " + smsMessage.ToLongString() + " is " + response); } } else { _logger.Debug("Unable to retrieve data from the specified URL: " + _baseUrl); } } } ; smsMessage.Sent = 1; // 1 for Success smsMessage.DateSent = DateTime.Now; _logger.Info("Sending Complete for " + smsMessage.ToLongString()); } catch (Exception ex) { _logger.Error("Exception occurred sending " + smsMessage.ToLongString() + " : " + ex.Message); } }
private void UpdateSms(OutboundSms smsMessage) { _logger.Debug("Updating " + smsMessage.ToLongString()); try { smsMessage.DateModified = DateTime.Now; smsMessage.Attempts++; _logger.Info("Update Complete for " + smsMessage.ToLongString()); } catch (DbEntityValidationException dbex) { _logger.Info("Validation Exception occurred while updating " + smsMessage.ToLongString() + " : " + dbex.ToLogString()); } catch (Exception ex) { _logger.Info("Exception occurred while updating " + smsMessage.ToLongString() + " : " + ex.Message); } }