public IHttpActionResult PostAdminSendMsg([FromBody] m_CustMessage value) { string clientHostname = HttpContext.Current.Request.UserHostName; string url = HttpContext.Current.Request.Path; try { m_SMS010 sms = new m_SMS010(); sms.CUST_NO = value.cust_no; sms.CON_NO = string.Empty; sms.SMS_NOTE = value.message; sms.SENDER = value.cust_no; sms.SENDER_TYPE = "SYSTEM"; sms.READ_STATUS = "UNREAD"; Notification noti = new Notification(); sms.SMS_TIME = DateTime.Now; sms.SMS010_PK = value.sms010_pk; chat.SendSmsByConnId(sms); monitor.sendMessage(url, clientHostname, value, new { request_status = "SUCCESS", desc = "Admin ส่งข้อความ", data = sms }); return(Ok(new { code = 200, message = "ส่งข้อความสำเร็จ", data = sms })); } catch (Exception e) { monitor.sendMessage(url, clientHostname, value, new { Message = e.Message }); return(Ok(new { code = 500, message = e.Message, data = string.Empty })); } }
public IHttpActionResult PostCustSendMsg([FromBody] m_CustMessage value) { string clientHostname = HttpContext.Current.Request.UserHostName; string url = HttpContext.Current.Request.Path; try { m_SMS010 sms = new m_SMS010(); sms.CUST_NO = value.cust_no; sms.CON_NO = string.Empty; sms.SMS_NOTE = value.message; sms.SENDER = value.cust_no; sms.SENDER_TYPE = "CUST"; var lastMsg = user.getLastNotification(value.cust_no); if (lastMsg.SMS_NOTE != value.message) { Notification noti = new Notification(); var lastSms = noti.createSms(sms); sms.SMS010_PK = lastSms; sms.READ_STATUS = "UNREAD"; sms.SMS_TIME = DateTime.Now; var cust = user.getProfileById(value.cust_no); payment.sendMessageToLine($"[{cust.CUST_NO.ToString()}] คุณ{cust.CUST_NAME} => {value.message}"); monitor.sendMessage(url, clientHostname, value, new { request_status = "SUCCESS", desc = "ลูกค้าส่งข้อความ", data = sms }); } return(Ok(new { code = 200, message = "ส่งข้อความสำเร็จ", data = sms })); } catch (Exception e) { monitor.sendMessage(url, clientHostname, value, new { Message = e.Message }); return(Ok(new { code = 500, message = e.Message, data = string.Empty })); } }
public void SendSmsByConnId(m_SMS010 value) { var context = GlobalHost.ConnectionManager.GetHubContext <ChatHub>(); using (OracleConnection conn = new OracleConnection(Database.conString)) { try { //if (conn.State == System.Data.ConnectionState.Open) // conn.Close(); conn.Open(); //conn.ConnectionString = Constants.OracleDb.Development.conString; using (var cmd = new OracleCommand(SqlCmd.User.getConnIdByCustNo, conn) { CommandType = System.Data.CommandType.Text }) { cmd.CommandTimeout = 30; cmd.Parameters.Add(new OracleParameter("cust_no", value.CUST_NO)); var reader = cmd.ExecuteReaderAsync(); reader.Result.Read(); if (reader.Result.HasRows) { var connectionId = reader.Result["CONN_ID"] == DBNull.Value ? string.Empty : (string)reader.Result["CONN_ID"]; context.Clients.Client(connectionId).sms(value); } reader.Dispose(); } } finally { conn.Close(); conn.Dispose(); } } //var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); //oracle = new Database(); //List<OracleParameter> parameter = new List<OracleParameter> //{ // new OracleParameter("cust_no", value.CUST_NO) //}; //var reader = oracle.SqlQueryWithParams(SqlCmd.User.getConnIdByCustNo, parameter); //reader.Read(); //var connectionId = (string)reader["CONN_ID"]; //context.Clients.Client(connectionId).sms(value); //reader.Dispose(); //oracle.OracleDisconnect(); }
public int createSms(m_SMS010 value) { oracle = new Database(); List <OracleParameter> parameter = new List <OracleParameter> { new OracleParameter(":cust_no", value.CUST_NO), new OracleParameter(":con_no", value.CON_NO), new OracleParameter(":sms_note", value.SMS_NOTE), new OracleParameter(":sender", value.SENDER), new OracleParameter(":sender_type", value.SENDER_TYPE), new OracleParameter { ParameterName = "sms010_pk", OracleDbType = OracleDbType.Int32, Direction = ParameterDirection.Output } }; var resInsert = oracle.SqlExecuteWithParams(SqlCmd.Notification.newSms, parameter); var lastSms = Int32.Parse(resInsert.Parameters["sms010_pk"].Value.ToString()); oracle.OracleDisconnect(); return(lastSms); }
public void sendSmsAll() { var context = GlobalHost.ConnectionManager.GetHubContext <ChatHub>(); MonitorHub monitor = new MonitorHub(); using (OracleConnection conn = new OracleConnection(Database.conString)) { try { conn.Open(); using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) { cmd3.Parameters.Add(new OracleParameter("msg", "เริ่มดึงข้อความ")); cmd3.ExecuteNonQueryAsync(); cmd3.Dispose(); } using (var cmd = new OracleCommand(SqlCmd.User.getAllSmsWithConnId, conn) { CommandType = System.Data.CommandType.Text }) { var reader = cmd.ExecuteReader(); List <m_sendSms> data = new List <m_sendSms>(); while (reader.Read()) { data.Add(new m_sendSms { SMS010_PK = Int32.Parse(reader["SMS010_PK"].ToString()), CUST_NO = Int32.Parse(reader["CUST_NO"].ToString()), CONN_ID = reader["CONN_ID"] == DBNull.Value ? string.Empty : reader["CONN_ID"].ToString(), DEVICE_STATUS = reader["DEVICE_STATUS"].ToString(), SMS_NOTE = reader["SMS_NOTE"] == DBNull.Value ? string.Empty : reader["SMS_NOTE"].ToString(), CON_NO = reader["CON_NO"] == DBNull.Value ? string.Empty : reader["CON_NO"].ToString(), SMS_TIME = (DateTime)reader["SMS_TIME"], SENDER = reader["SENDER"] == DBNull.Value ? 0 : Int32.Parse(reader["SENDER"].ToString()), SENDER_TYPE = reader["SENDER_TYPE"].ToString(), SMS010_REF = reader["SMS010_REF"] == DBNull.Value ? 0 : Int32.Parse(reader["SMS010_REF"].ToString()), READ_STATUS = reader["READ_STATUS"].ToString() }); } using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) { cmd3.Parameters.Add(new OracleParameter("msg", "ดึงข้อความเสร็จ")); cmd3.ExecuteNonQueryAsync(); cmd3.Dispose(); } using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) { cmd3.Parameters.Add(new OracleParameter("msg", "เริ่มส่งข้อความ")); cmd3.ExecuteNonQueryAsync(); cmd3.Dispose(); } if (data.Count != 0) { List <m_SMS010> sms = new List <m_SMS010>(); //using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) //{ // cmd3.Parameters.Add(new OracleParameter("msg", OracleDbType.Varchar2)); // foreach (var s in data) // { // var temp = new m_SMS010 // { // SMS010_PK = s.SMS010_PK, // CUST_NO = s.CUST_NO, // CON_NO = s.CON_NO, // SMS_NOTE = s.SMS_NOTE, // SMS_TIME = DateTime.Now, // SENDER = s.SENDER, // SENDER_TYPE = s.SENDER_TYPE, // SMS010_REF = s.SMS010_REF, // READ_STATUS = s.READ_STATUS // }; // cmd3.Parameters[0].Value = temp.SMS_NOTE; // cmd3.ExecuteNonQueryAsync(); // //using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) // //{ // // cmd3.Parameters.Add(new OracleParameter("msg", temp.SMS_NOTE)); // // cmd3.ExecuteNonQueryAsync(); // // cmd3.Dispose(); // //} // //monitor.sendMessage(string.Empty, s.CONN_ID, new { cust_no = s.CUST_NO }, new { request_status = "SUCCESS", desc = "Admin ส่งข้อความ", data = temp }); // //context.Clients.Client(s.CONN_ID).sms(temp); // } // cmd3.Dispose(); //} foreach (var s in data) { var temp = new m_SMS010 { SMS010_PK = s.SMS010_PK, CUST_NO = s.CUST_NO, CON_NO = s.CON_NO, SMS_NOTE = s.SMS_NOTE, SMS_TIME = DateTime.Now, SENDER = s.SENDER, SENDER_TYPE = s.SENDER_TYPE, SMS010_REF = s.SMS010_REF, READ_STATUS = s.READ_STATUS }; //using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) //{ // cmd3.Parameters.Add(new OracleParameter("msg", temp.SMS_NOTE)); // cmd3.ExecuteNonQueryAsync(); // cmd3.Dispose(); //} monitor.sendMessage(string.Empty, s.CONN_ID, new { cust_no = s.CUST_NO }, new { request_status = "SUCCESS", desc = "Admin ส่งข้อความ", data = temp }); context.Clients.Client(s.CONN_ID).sms(temp); } using (var cmd2 = new OracleCommand(SqlCmd.Notification.markToSent, conn) { CommandType = System.Data.CommandType.Text }) { cmd2.ExecuteNonQueryAsync(); cmd2.Parameters.Clear(); } } //using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) //{ // cmd3.Parameters.Add(new OracleParameter("msg", "insert ข้อความลง log_test เสร็จ")); // cmd3.ExecuteNonQueryAsync(); // cmd3.Dispose(); //} using (var cmd3 = new OracleCommand(SqlCmd.Log.logTest, conn) { CommandType = System.Data.CommandType.Text }) { cmd3.Parameters.Add(new OracleParameter("msg", "ส่งข้อความเสร็จ")); cmd3.ExecuteNonQueryAsync(); cmd3.Dispose(); } reader.Dispose(); cmd.Dispose(); } } finally { conn.Close(); conn.Dispose(); } } }
public void sendSmsByCustNo(int cust_no) { var context = GlobalHost.ConnectionManager.GetHubContext <ChatHub>(); MonitorHub monitor = new MonitorHub(); using (OracleConnection conn = new OracleConnection(Database.conString)) { try { conn.Open(); using (var cmd = new OracleCommand(SqlCmd.User.getSmsWithConnId, conn) { CommandType = System.Data.CommandType.Text }) { cmd.Parameters.Add(new OracleParameter("cust_no", cust_no)); var reader = cmd.ExecuteReader(); List <m_sendSms> data = new List <m_sendSms>(); while (reader.Read()) { data.Add(new m_sendSms { SMS010_PK = Int32.Parse(reader["SMS010_PK"].ToString()), CUST_NO = Int32.Parse(reader["CUST_NO"].ToString()), CONN_ID = reader["CONN_ID"] == DBNull.Value ? string.Empty : reader["CONN_ID"].ToString(), DEVICE_STATUS = reader["DEVICE_STATUS"].ToString(), SMS_NOTE = reader["SMS_NOTE"] == DBNull.Value ? string.Empty : reader["SMS_NOTE"].ToString(), CON_NO = reader["CON_NO"] == DBNull.Value ? string.Empty : reader["CON_NO"].ToString(), SMS_TIME = (DateTime)reader["SMS_TIME"], SENDER = reader["SENDER"] == DBNull.Value ? 0 : Int32.Parse(reader["SENDER"].ToString()), SENDER_TYPE = reader["SENDER_TYPE"].ToString(), SMS010_REF = reader["SMS010_REF"] == DBNull.Value ? 0 : Int32.Parse(reader["SMS010_REF"].ToString()), READ_STATUS = reader["READ_STATUS"].ToString() }); } if (data.Count != 0) { List <m_SMS010> sms = new List <m_SMS010>(); foreach (var s in data) { var temp = new m_SMS010 { SMS010_PK = s.SMS010_PK, CUST_NO = s.CUST_NO, CON_NO = s.CON_NO, SMS_NOTE = s.SMS_NOTE, SMS_TIME = DateTime.Now, SENDER = s.SENDER, SENDER_TYPE = s.SENDER_TYPE, SMS010_REF = s.SMS010_REF, READ_STATUS = s.READ_STATUS }; var connectionId = s.CONN_ID; monitor.sendMessage(string.Empty, s.CONN_ID, new { cust_no = cust_no }, new { request_status = "SUCCESS", desc = "Admin ส่งข้อความ", data = temp }); context.Clients.Client(connectionId).sms(temp); context.Clients.Client(s.CONN_ID).sms(temp); } } reader.Dispose(); cmd.Dispose(); //cmd.Parameters.Add(new OracleParameter("cust_no", cust_no)); //var reader = cmd.ExecuteReader(); //reader.Read(); //List<m_SMS010> data = new List<m_SMS010>(); //while (reader.Read()) //{ // data.Add(new m_SMS010 // { // SMS010_PK = Int32.Parse(reader["SMS010_PK"].ToString()), // CUST_NO = Int32.Parse(reader["CUST_NO"].ToString()), // CON_NO = reader["CON_NO"] == DBNull.Value ? string.Empty : (string)reader["CON_NO"], // SMS_NOTE = reader["SMS_NOTE"] == DBNull.Value ? string.Empty : (string)reader["SMS_NOTE"], // SMS_TIME = (DateTime)reader["SMS_TIME"], // SENDER = reader["SENDER"] == DBNull.Value ? null : (int?)Int32.Parse(reader["SENDER"].ToString()), // SENDER_TYPE = (string)reader["SENDER_TYPE"], // SMS010_REF = reader["SMS010_REF"] == DBNull.Value ? null : (int?)Int32.Parse(reader["SMS010_REF"].ToString()), // READ_STATUS = (string)reader["READ_STATUS"] // }); //} //if(data.Count != 0) //{ // using (var cmd2 = new OracleCommand(SqlCmd.User.getConnIdByCustNo, conn) { CommandType = System.Data.CommandType.Text }) // { // foreach(var msg in data) // { // cmd2.Parameters.Clear(); // cmd2.Parameters.Add(new OracleParameter("cust_no", msg.CUST_NO)); // var reader2 = cmd2.ExecuteReader(); // reader2.Read(); // if (reader2.HasRows) // { // if(reader2["CONN_ID"] != DBNull.Value) // { // var connectionId = reader2["CONN_ID"] == DBNull.Value ? string.Empty : (string)reader2["CONN_ID"]; // context.Clients.Client(connectionId).sms(msg); // } // } // } // } //} //reader.Dispose(); //cmd.Dispose(); } } finally { conn.Close(); conn.Dispose(); } } }
public IHttpActionResult PostWebhook([FromBody] lineData value) { Line line = new Line(); foreach (var e in value.events) { if (e.type == "message") { if (e.message.type == "text") { var prof = line.getProfileByUserId(e.source.userId); if (prof != null) { m_SMS010 sms = new m_SMS010(); sms.CUST_NO = prof.CUST_NO; sms.CON_NO = string.Empty; sms.SMS_NOTE = e.message.text; sms.SENDER = prof.CUST_NO; sms.SENDER_TYPE = "CUST"; Notification noti = new Notification(); var lastSms = noti.createSms(sms); } if (e.message.text == "ลงทะเบียน") { var process = line.getProcessByUserId(e.source.userId); if (process == null) { line.setRegister(e.source.userId, "PENDING", "First register", "SUCCESS", e.message.text); line.sendMessageUserId(e.source.userId, "กรุณากรอกเลขประจำตัวประชาชน"); } else { if (process.PROCESS == "REGISTER") { if (process.PROCESS_STATUS == "SUCCESS") { line.sendMessageUserId(e.source.userId, "ข้อมูลของคุณได้รับการลงทะเบียนแล้ว"); } else { if (process.ACTION == "First register") { line.sendMessageUserId(e.source.userId, "กรุณากรอกเลขประจำตัวประชาชน"); } else if (process.ACTION == "Input citizen_no") { if (process.ACTION_STATUS == "FAILED") { line.sendMessageUserId(e.source.userId, "กรุณากรอกเลขประจำตัวประชาชน"); } else if (process.ACTION_STATUS == "SUCCESS") { line.sendMessageUserId(e.source.userId, "กรุณากรอกหมายเลขโทรศัพท์"); } } else if (process.ACTION == "Input phone_no") { if (process.ACTION_STATUS == "FAILED") { line.sendMessageUserId(e.source.userId, "กรุณากรอกหมายเลขโทรศัพท์"); } else if (process.ACTION_STATUS == "SUCCESS") { line.sendMessageUserId(e.source.userId, "ข้อมูลของคุณได้รับการลงทะเบียนแล้ว"); } } } } } } else { if (line.IsNumeric(e.message.text)) { if (e.message.text.Length == 13) { var process = line.getProcessByUserId(e.source.userId); if (process != null) { if (process.PROCESS == "REGISTER") { if (process.PROCESS_STATUS == "PENDING") { if (process.ACTION == "First register") { var profile = user.getProfileByCitizenNo(e.message.text); if (profile == null) { line.setRegister(e.source.userId, "PENDING", "Input citizen_no", "FAILED", e.message.text); line.sendMessageUserId(e.source.userId, "ไม่พบเลขประจำตัวประชาชนของคุณในระบบ"); } else { line.setRegister(e.source.userId, "PENDING", "Input citizen_no", "SUCCESS", e.message.text); line.sendMessageUserId(e.source.userId, "กรุณากรอกหมายเลขโทรศัพท์"); } } else if (process.ACTION == "Input citizen_no" && process.ACTION_STATUS == "FAILED") { var profile = user.getProfileByCitizenNo(e.message.text); if (profile == null) { line.setRegister(e.source.userId, "PENDING", "Input citizen_no", "FAILED", e.message.text); line.sendMessageUserId(e.source.userId, "ไม่พบเลขประจำตัวประชาชนของคุณในระบบ"); } else { line.setRegister(e.source.userId, "PENDING", "Input citizen_no", "SUCCESS", e.message.text); line.sendMessageUserId(e.source.userId, "กรุณากรอกหมายเลขโทรศัพท์"); } } } } } } else if (e.message.text.Length == 10) { var process = line.getProcessByUserId(e.source.userId); if (process != null) { if (process.PROCESS == "REGISTER") { if (process.PROCESS_STATUS == "PENDING") { if (process.ACTION == "Input citizen_no" && process.ACTION_STATUS == "SUCCESS") { var profile = user.getProfileByPhoneNO(e.message.text); if (profile == null) { line.setRegister(e.source.userId, "PENDING", "Input phone_no", "FAILED", e.message.text); line.sendMessageUserId(e.source.userId, "ไม่หมายเลขโทรศัพท์ของคุณในระบบ"); } else { line.setRegister(e.source.userId, "SUCCESS", "Input phone_no", "SUCCESS", e.message.text); line.registerUserId(e.source.userId, profile.CUST_NO); line.sendMessageUserId(e.source.userId, $"ยินดีต้อนรับคุณ{profile.CUST_NAME}"); } } else if (process.ACTION == "Input phone_no" && process.ACTION_STATUS == "FAILED") { var profile = user.getProfileByPhoneNO(e.message.text); if (profile == null) { line.setRegister(e.source.userId, "PENDING", "Input phone_no", "FAILED", e.message.text); line.sendMessageUserId(e.source.userId, "ไม่พบเลขประจำตัวประชาชนของคุณในระบบ"); } else { line.setRegister(e.source.userId, "SUCCESS", "Input phone_no", "SUCCESS", e.message.text); line.registerUserId(e.source.userId, profile.CUST_NO); line.sendMessageUserId(e.source.userId, $"ยินดีต้อนรับคุณ{profile.CUST_NAME}"); } } } } } } } } } } } return(Ok()); }