دانلود نمونه کد دریافت وضعیت پیامک

برای Load کردن و ساختن شی از خروجی متدهای گزارش وضعیت ارسالی پیامک در سی شارپ میتوانید از نمونه کد زیر استفاده کنید .

public class ParhotReportResult
{
   public string SMSID { set; get; }
   public string Recipient { set; get; }
   public string Sender { set; get; }
   public string Status { set; get; }
   public string SentTime { set; get; }
   public string ClientID { set; get; }
   public string Sender { set; get; }
   public string StatusMessage
   {
      get
      {
         switch (this.Status)
         {
               case("1209"):return "خطا در ارسال";
               case("1201"):return "وضعيت نا معلوم";
               case("1213"):return "به گوشی نرسیده است";
               case("1221"):return "به گوشی رسیده است";
         }
         return "???";
      }
   }
}



private List<ParhotReportResult> ProcessReportResult(string ReportResult)
{
   List<ParhotReportResult> Result = new List<ParhotReportResult>();
   try
   {
      System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
      doc.LoadXml(ReportResult);
      foreach (System.Xml.XmlNode node in doc.ChildNodes[0].ChildNodes)
      {
         Result.Add(new ParhotReportResult() {
            ClientID = node.SelectSingleNode("ClientID").InnerText,
            Recipient = node.SelectSingleNode("Recipient").InnerText,
            Sender = node.SelectSingleNode("Sender").InnerText,
            SentTime = node.SelectSingleNode("SentTime").InnerText,
            SMSID = node.SelectSingleNode("SMSID").InnerText,
            Status = node.SelectSingleNode("Status").InnerText,
         });
      }
   }
   catch { }
   return Result;
}
دریافت گزارش وضعيت پیامک هایی که تا به حال گزارش آن ها را دریافت نکرده اید :
در این مثال فرض شده است که برنامه نویس محترم ، وب سرویس پرهات را با عنوان Parhot.AdvancedWS به پروژه خود اضافه کرده است
private List<ParhotReportResult> GetMessageReport()
{
   Parhot.AdvancedWS.ParhotAdvancedWS objWS = new Parhot.AdvancedWS.ParhotAdvancedWS();

   string Result = objAdvancedWS.GetMessageReport(Username, Password);
   List<ParhotReportResult> ReportResult = ProcessReportResult(Result);
   return ReportResult;
}

دریافت گزارش وضعيت پیامک هایی خاص :
در این مثال فرض شده است که برنامه نویس محترم ، وب سرویس پرهات را با عنوان Parhot.AdvancedWS به پروژه خود اضافه کرده است
private List<ParhotReportResult> GetMessages(int[] SMSIDs)
{
   Parhot.AdvancedWS.ParhotAdvancedWS objWS = new Parhot.AdvancedWS.ParhotAdvancedWS();

   string Result = objAdvancedWS.GetMessages(Username, Password,SMSIDs);
   List<ParhotReportResult> ReportResult = ProcessReportResult(Result);
   return ReportResult;
}