public bool ChangeStatus(MTQueueReport model) { try { db.ExecuteCommand("UPDATE MTQueueReport SET Status = {0} WHERE ID = {1}", model.Status, model.Id); return(true); } catch (Exception ex) { logger.Error(ex); return(false); } }
public bool Insert(MTQueueReport model) { try { if (db.CheckSMSID(model.SMSID) == 0) { db.MTQueueReports.InsertOnSubmit(model); db.SubmitChanges(); } else { db.ExecuteCommand("UPDATE MTQueueReport SET Status = {0} WHERE SMSID = {1}", ConfigType.MT_STATUS_NOT_NOTIFY, model.SMSID); } return(true); } catch (Exception ex) { logger.Error(ex); return(false); } }
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); } }