#region Namespaces
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Configuration;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
#endregion
/// <summary>
/// Summary description for SMSAPI
/// </summary>
public class SMSAPI
{
MyConnection con = new MyConnection();
public DataSet ds = new DataSet();
public SqlDataAdapter da = new SqlDataAdapter();
public SMSAPI()
{
//
// TODO: Add constructor logic here
//
}
/*Get The SMS API*/
public string GETSMSAPI()
{
con.Open();
string QuerySMS, StringSMS, APISMS, UserName, Password, Sender, Priority;
QuerySMS = "SP_SMSAPIMaster_GetDetail";
StringSMS = APISMS = UserName = Password = Sender = Priority = "";
con.cmd.CommandText = QuerySMS;
try
{
con.Open();
con.cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(con.cmd);
da.Fill(ds, "tbl_SMSAPIMaster");
if (ds.Tables["tbl_SMSAPIMaster"].Rows.Count > 0)
{
APISMS = ds.Tables["tbl_SMSAPIMaster"].Rows[0]["SMSAPI"].ToString();
UserName = ds.Tables["tbl_SMSAPIMaster"].Rows[0]["UserName"].ToString();
Password = ds.Tables["tbl_SMSAPIMaster"].Rows[0]["Password"].ToString();
Sender = ds.Tables["tbl_SMSAPIMaster"].Rows[0]["Sender"].ToString();
Priority = ds.Tables["tbl_SMSAPIMaster"].Rows[0]["Priority"].ToString();
StringSMS = APISMS.Replace("uid", UserName).Replace("psd", Password).Replace("sndid", Sender).Replace("prt", Priority);
}
else
{
StringSMS = "";
}
}
catch
{
}
finally
{
con.Close();
}
return StringSMS;
}
/*Call The SMS API*/
public string GetAPICALL(string url)
{
HttpWebRequest httpreq = (HttpWebRequest)WebRequest.Create(url);
try
{
HttpWebResponse httpres = (HttpWebResponse)httpreq.GetResponse();
StreamReader sr = new StreamReader(httpres.GetResponseStream());
string results = sr.ReadToEnd();
sr.Close();
return results;
}
catch
{
return "0";
}
}
}
private void SendOTPSMS()
{
string Msgs, SMSString;
Msgs = SMSString = "";
SMSString = SMSAPI.GETSMSAPI();
Msgs = "D" + "OTP : " + lblOneTimePassword;
lblMessageContent = Msgs;
SMSString = SMSString.Replace("num", txtMobileNo.Value.Trim()).Replace("fedmesge", Msgs);
string Result = SMSAPI.GetAPICALL(SMSString);
}
private void GenerateOTP()
{
int MaxSize = 4;
//int MinSize = 0;
char[] chars = new char[62];
string Character;
// a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
Character = "1234567890";
chars = Character.ToCharArray();
int Size = MaxSize;
byte[] data = new byte[1];
RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
crypto.GetNonZeroBytes(data);
Size = MaxSize;
data = new byte[Size];
crypto.GetNonZeroBytes(data);
StringBuilder result = new StringBuilder(Size);
foreach (byte b in data)
{
result.Append(chars[b % (chars.Length)]);
}
lblOneTimePassword = result.ToString();
}