public void ThreadSendRequest(object o) { try { MTQueueReportProvider providerMTR = new MTQueueReportProvider(); MTProvider providerMT = new MTProvider(); List <MTQueueReport> list = (List <MTQueueReport>)o; string listSMSID = ""; foreach (MTQueueReport item in list) { //logger.Info("ThreadSendRequest - " + item.ProcessingCode); listSMSID += item.SMSID + "|"; item.Status = ConfigType.MT_STATUS_NOTIFY_OK; MT mt = new MT() { Content = item.Content, DateCreate = item.DateCreate, Dest = item.Dest, Password = item.Password, Priority = item.Priority, ProcessingCode = item.ProcessingCode, Receiver = item.Receiver, Source = item.Source, Status = item.Status, TimeSend = item.TimeSend, TransID = item.TransID, TransTime = item.TransTime, User = item.User, Result = item.Result, SMSID = item.SMSID, RouteName = item.RouteName }; providerMT.Insert(mt); providerMTR.DeleteById(item.Id); } if (!string.IsNullOrEmpty(listSMSID)) { listSMSID = listSMSID.Substring(0, listSMSID.Length - 1); ConnectServiceVietinbank csv = new ConnectServiceVietinbank(); Thread callService = new Thread(csv.CallServiceBDSD); ModelCallService model = new ModelCallService() { NOSMS = list.Count, SMSLIST = listSMSID }; callService.Start(model); } _doneEvent.Set(); } catch (Exception ex) { logger.Error(ex); _doneEvent.Set(); } }
public void SendSMSFormList(object obj) { try { List <QueueService> listSend = (List <QueueService>)obj; MTQueueReportProvider providerMTR = new MTQueueReportProvider(); MTProvider providerMT = new MTProvider(); QueueServiceProvider qsProvider = new QueueServiceProvider(); EncryptAndDecrypt ead = new EncryptAndDecrypt(); SubTelcoProvider stProvider = new SubTelcoProvider(); RouteTelcoProvider routeProvider = new RouteTelcoProvider(); while (listSend != null && listSend.Count > 0) { //string str_result = "0:NONE_ROUTE"; QueueService model = listSend[0]; //if(model.Receiver.Contains("904993309") || model.Receiver.Contains("988018028")) //{ // str_result = SendSMS(model, false, ead, stProvider, routeProvider); //} string str_result = SendSMS(model, false, ead, stProvider, routeProvider); var results = str_result.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries).ToList(); int result = Convert.ToInt32(results[0]); if (result == 501 || result == 502 || result == 503 || result == 555) { //FAIL MT mt = new MT() { Content = model.Content, DateCreate = model.DateCreate, Dest = model.Dest, Password = model.Password, Priority = model.Priority, ProcessingCode = model.ProcessingCode, Receiver = model.Receiver, Source = model.Source, Status = ConfigType.MT_STATUS_NOT_NOTIFY_ERROR, TimeSend = DateTime.Now, TransID = model.TransID, TransTime = model.TransTime, User = model.User, Result = result, SMSID = model.SMSID, RouteName = results[1] }; providerMT.Insert(mt); } else { //SUCCESS MTQueueReport mt = new MTQueueReport() { Content = model.Content, DateCreate = model.DateCreate, Dest = model.Dest, Password = model.Password, Priority = model.Priority, ProcessingCode = model.ProcessingCode, Receiver = model.Receiver, Source = model.Source, Status = ConfigType.MT_STATUS_NOT_NOTIFY, TimeSend = DateTime.Now, TransID = model.TransID, TransTime = model.TransTime, User = model.User, Result = result, SMSID = model.SMSID, RouteName = results[1] }; providerMTR.Insert(mt); } logger.Info("SendSMS [" + results[1] + "] : " + model.Receiver + " | " + model.Content + " | " + result); listSend.RemoveAt(0); qsProvider.DeleteById(model.Id); Thread.Sleep(10); } _doneEvent.Set(); } catch (Exception ex) { logger.Error(ex); _doneEvent.Set(); Thread.Sleep(1000); //SendSMSFormList(listSend); } }