示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }