// //using Ease.Core.Model; //using GsmComm.GsmCommunication; //using GsmComm.PduConverter; // // // //using System; //using System.Collections.Generic; //using System.Data; //using System.IO; //using System.Text.RegularExpressions; //namespace HRM.BO //{ // public class SMSSender // { // private int[] ComPorts = { 1, 2, 3, 4,5,6,7,8 }; // private int[] BaudRates = { 9600, 19200, 38400, 57600, 115200 }; // private int[] TimeOuts = { 150, 300, 600, 900, 1200, 1500, 1800, 2000 }; // private Int16 Comm_Port = 0; // private Int32 Comm_BaudRate = 0; // private Int32 Comm_TimeOut = 0; // private GsmCommMain comm; // private List ports; // private Phone phone; // private Port validPort; // public String CellNumber { get; set; } // public String SMSMessage { get; set; } // #region private Functions // private bool PortFound() // { // // for Receiving maximum // Array.Sort(TimeOuts); // Array.Reverse(TimeOuts); // foreach (int comp in ComPorts) // { // foreach (var baud in BaudRates) // { // foreach (var tmOut in TimeOuts) // { // Port port = new Port(); // port.ComPort = comp; // port.ConnDevice = ""; // port.MaxBaudRate = baud; // port.Status = ""; // port.TimeOut = tmOut.ToString(); // try // { // Comm_Port = (short)port.ComPort; // Comm_BaudRate = (int)port.MaxBaudRate; // Comm_TimeOut = Convert.ToInt32(port.TimeOut); // } // catch (Exception e1) // { // // Console.WriteLine("Error Converting COM Port Settings Values" + " Check COM Port Values"); // continue; // } // comm = new GsmCommMain(Comm_Port, Comm_BaudRate, Comm_TimeOut); // try // { // comm.Open(); // if (comm.IsConnected()) // { // phone = new Phone(); // try // { // phone.Name = comm.IdentifyDevice().Manufacturer.ToUpper().ToString(); // phone.Model = comm.IdentifyDevice().Model.ToUpper().ToString(); // phone.RevisionNumber = comm.IdentifyDevice().Revision.ToUpper().ToString(); // phone.SerialNumber = comm.IdentifyDevice().SerialNumber.ToUpper().ToString(); // validPort = port; // return true; // } // catch (Exception e2) // { // continue; // } // } // } // catch (Exception e3) // { // continue; // } // } // } // } // return false; // } // private bool ValidNumber() // { // Match matchNumber; // switch (CellNumber.Trim().Length) // { // case 11: // if(checkStarting(0)) // { // matchNumber = Regex.Match(CellNumber, "[0-9]+"); // if(matchNumber.Success) // return true; // } // break; // case 14: // if(checkStarting(3)) // { // matchNumber = Regex.Match(CellNumber, "[+]88[0-9]+"); // if (matchNumber.Success) // return true; // } // break; // case 15: // if (checkStarting(4)) // { // matchNumber = Regex.Match(CellNumber, "0088[0-9]+"); // if (matchNumber.Success) // return true; // } // break; // default: // return false; // } // return false; // } // private bool checkStarting(int start) // { // String subString = CellNumber.Substring(start, 3); // if (subString == "011" || subString == "015" || subString == "016" || subString == "017" || subString == "018" || subString == "019") // return true; // return false; // } // //private bool ValidPortSelect() // // { // // foreach (Port port in ports) // // { // // try // // { // // Comm_Port = Convert.ToInt16(port.ComPort.ToString().Substring(3)); // // Comm_BaudRate = Convert.ToInt32(port.MaxBaudRate.ToString()); // // Comm_TimeOut = Convert.ToInt32(port.TimeOut); // // } // // catch (Exception e1) // // { // // // Console.WriteLine("Error Converting COM Port Settings Values" + " Check COM Port Values"); // // continue; // // } // // comm = new GsmCommMain(Comm_Port, Comm_BaudRate, Comm_TimeOut); // // try // // { // // comm.Open(); // // if (comm.IsConnected()) // // { // // phone = new Phone(); // // try // // { // // phone.Name = comm.IdentifyDevice().Manufacturer.ToUpper().ToString(); // // phone.Model = comm.IdentifyDevice().Model.ToUpper().ToString(); // // phone.RevisionNumber = comm.IdentifyDevice().Revision.ToUpper().ToString(); // // phone.SerialNumber = comm.IdentifyDevice().SerialNumber.ToUpper().ToString(); // // validPort = port; // // return true; // // } // // catch (Exception e2) // // { // // continue; // // } // // } // // } // // catch (Exception e3) // // { // // continue; // // } // // } // // return false; // // } // //private void GeneratePortList() // // { // // ports = new List(); // // try // // { // // // Cursor.Current = Cursors.WaitCursor; // // //ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_SerialPort"); // // //foreach (ManagementObject queryObj in searcher.Get()) // // //{ // // // if (queryObj != null) // // // { // // // Port port = new Port(); // // // port.ComPort = queryObj["DEVICEID"]; //0 // // // port.ConnDevice = queryObj["DESCRIPTION"]; //1 // // // port.MaxBaudRate = queryObj["MAXBAUDRATE"]; //2 // // // port.Status = queryObj["STATUS"]; //4 // // // port.TimeOut = "100"; //3 // // // ports.Add(port); // // // } // // //} // // foreach (int comp in ComPorts) // // { // // foreach (var baud in BaudRates) // // { // // foreach (var tmOut in TimeOuts) // // { // // Port port = new Port(); // // port.ComPort = comp; //0 // // port.ConnDevice = ""; //1 // // port.MaxBaudRate = baud; //2 // // port.Status = ""; //4 // // port.TimeOut = tmOut.ToString(); //3 // // ports.Add(port); // // //dataGridView3.Rows.Add("COM" + comp, "", baud, tmOut, "Open"); // // } // // } // // } // // } // // catch (Exception e15) // // { // // throw new Exception("An error occurred while querying for WMI data: " + e15.Message); // // } // // } // #endregion // public void SendSMS() // { // //GeneratePortList(); // //if (!ValidPortSelect()) // //{ // // return; // //} // if (!PortFound()) // { // throw new Exception("No Port Found for sending SMS"); // } // SmsSubmitPdu pdu1; // try // { // if (comm.IsConnected()) // { // if (!ValidNumber()) // { // throw new Exception("Invalid Mobile No"); // } // else if (SMSMessage.Trim() == "") // { // SMSMessage = "Blank SMS"; // } // try // { // pdu1 = new SmsSubmitPdu(SMSMessage, CellNumber, ""); // comm.SendMessage(pdu1); // } // catch (Exception e) // { // throw new Exception("Could Not Send SMS due To: \r\n" + e.Message); // } // finally // { // comm.Close(); // } // } // else // { // throw new Exception("No GSM Phone / Modem Connected"); // } // } // catch (Exception E10) // { // if (comm.IsConnected()) comm.Close(); // throw new Exception(E10.Message); // } // } // } // internal class Port // { // public object ComPort { get; set; } // public object ConnDevice { get; set; } // public object MaxBaudRate { get; set; } // public string TimeOut { get; set; } // public object Status { get; set; } // } // internal class Phone // { // public String Name { get; set; } // public String Model { get; set; } // public String RevisionNumber { get; set; } // public String SerialNumber { get; set; } // } //}