private void smsTimer_Tick(object sender, ElapsedEventArgs e) { try { int totalSMSProcessed = 0; int smsDeliveredSuccessfully = 0; int smsFailedToDeliver = 0; IMessageManager <SMS, SMSQueueItem> smsmanager = new SMSManager(); List <SMSQueueItem> smsqueueItems = smsmanager.GetPendingMessages().ToList(); foreach (var item in smsqueueItems) { MessageDeliveryStatus status = smsmanager.SendMessage(item); totalSMSProcessed++; if (status == MessageDeliveryStatus.Delivered) { smsDeliveredSuccessfully++; } else { smsFailedToDeliver++; } } LogWriter.WriteLine(this.ServiceName, string.Format("SMS Delivery Service Called: {0} messages out of {1} sent successfully while {2} messages could not be sent at moment", smsDeliveredSuccessfully, totalSMSProcessed, smsFailedToDeliver)); } catch (Exception ex) { LogWriter.WriteLine(this.ServiceName, ex.ToString()); } }