public bool InsetSMS(LogSMSNewData data, bool smsStatus, string requestdetail, string responseDetail) { this.LogSMSNewRepository = new LogSMSNewRepository(ConfigUtil.CreateSessionFactory()); this.LogSMSNew = new LogSMSNew(); this.LogSMSNew.Agrcode = data.Agrcode; this.LogSMSNew.Branchid = data.Branchid; this.LogSMSNew.Cuscode = data.Cuscode; this.LogSMSNew.Depcode = data.Depcode; this.LogSMSNew.Mobilenumber = data.Mobilenumber; this.LogSMSNew.Remark = data.Remark; this.LogSMSNew.Resultdetail = data.SMSDetail; this.LogSMSNew.Senddate = DateTime.Now; this.LogSMSNew.Senttime = DateTime.Now.ToString(); this.LogSMSNew.Smid = data.Smid; this.LogSMSNew.Smsstatus = smsStatus; this.LogSMSNew.Typecode = data.Typecode; this.LogSMSNew.Updatedate = DateTime.Now; this.LogSMSNew.Userid = data.Userid; this.LogSMSNew.RequestDetail = requestdetail; this.LogSMSNew.RequestDetail = responseDetail; try { this.LogSMSNewRepository.Insert(this.LogSMSNew); return(true); } catch (Exception ex) { ex.StackTrace.ToString(); return(false); } }
public SMSResult SMSAISNew(LogSMSNewData entity) { dynamic info = new MyExpando(); info.start = DateTime.Now; info.LogSMSNewData = entity; info.method = "SMSAISNew"; SMSResult SMSResult = new SMSResult(); string strResult = null; string requestDetail = null; string strresponse; string responseDetail = null; ProcessNewSMS ps = new ProcessNewSMS(); if (entity.Language == "TH") { requestDetail = "TRANSID=BULK&CMD=SENDMSG&FROM=66899264547&TO=" + entity.Mobilenumber + "&REPORT=N&CHARGE=N&CODE=KTBLeasing_BulkSMS&CTYPE=LUNICODE&CONTENT=" + String2Unicode(entity.SMSDetail).ToUpper().ToString() + ""; } else { requestDetail = "TRANSID=BULK&CMD=SENDMSG&FROM=66899264547&TO=" + entity.Mobilenumber + "&REPORT=N&CHARGE=N&CODE=KTBLeasing_BulkSMS&CTYPE=LTEXT&CONTENT=" + entity.SMSDetail + ""; } string url = null; url = Settings.Default.AISURL; HttpWebRequest oRequest = (HttpWebRequest)WebRequest.Create(url); oRequest.Accept = "*/*"; oRequest.AllowAutoRedirect = true; oRequest.UserAgent = "http_requester/0.1"; oRequest.Timeout = Settings.Default.Timeout; oRequest.Method = "POST"; oRequest.ContentType = "application/x-www-form-urlencoded"; System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); byte[] postByteArray = encoding.GetBytes(requestDetail); oRequest.ContentLength = postByteArray.Length; try { System.IO.Stream postStream = oRequest.GetRequestStream(); postStream.Write(postByteArray, 0, postByteArray.Length); postStream.Close(); HttpWebResponse oResponse = (HttpWebResponse)oRequest.GetResponse(); Logger.Info(JsonConvert.SerializeObject(oRequest)); Logger.Info(JsonConvert.SerializeObject(oResponse)); if (oResponse.StatusCode == HttpStatusCode.OK) { System.IO.Stream responseStream = oResponse.GetResponseStream(); System.IO.StreamReader myStreamReader = new System.IO.StreamReader(responseStream); strresponse = myStreamReader.ReadToEnd(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(strresponse); System.Data.DataSet ds = new System.Data.DataSet(); ds.ReadXml(new System.Xml.XmlNodeReader(xmlDoc)); if (ds.Tables[0].Rows.Count > 0) { entity.Smid = ds.Tables[0].Rows[0]["SMID"].ToString(); responseDetail = ds.Tables[0].Rows[0]["DETAIL"].ToString(); bool status = ps.InsetSMS(entity, true, requestDetail, responseDetail); } SMSResult.IsCompleted = true; SMSResult.Message = responseDetail; } else { responseDetail = oResponse.StatusDescription.Trim().ToString(); ps.InsetSMS(entity, false, requestDetail, responseDetail); SMSResult.IsCompleted = false; SMSResult.Message = responseDetail; } } catch (Exception Ex) { strResult = Ex.Message.ToString(); responseDetail = Ex.Message.ToString(); ps.InsetSMS(entity, false, requestDetail, responseDetail); SMSResult.IsCompleted = false; SMSResult.Message = responseDetail; info.end = DateTime.Now; Logger.Error(JsonConvert.SerializeObject(info), Ex); } return(SMSResult); }