public void Execute() { string campaignXmlFile = string.Empty; string smsList = string.Empty; string dataFile = string.Empty; string zipFileName = string.Empty; Guid listId = Guid.Empty; Console.WriteLine("SMS gönderim uygulaması çalıştı."); try { logMe.Log("SendSmsIntegration - Execute", "Mail gönderim uygulaması başladı.", TEMPEventLog.EventType.Info); #region | Get Campaign Activity | //Euromessage' a gönderilmeyi bekleyen Kampanya Aktiviteleri çekiliyor. string queryCActivity = @" SELECT CA.ActivityId CAID, DATEADD(HOUR,DATEDIFF(HOUR,GETUTCDATE(),GETDATE()),CA.scheduledstart) CAS, DATEADD(HOUR,DATEDIFF(HOUR,GETUTCDATE(),GETDATE()),CA.scheduledend) CAE, CA.[Subject] CS FROM CampaignActivity CA (NOLOCK) WHERE CA.StatusCode = 100000003 AND CA.StateCode=0 AND CA.ChannelTypeCode=3" ; sda.openConnection(Globals.ConnectionString); DataTable dtCActivity = sda.getDataTable(queryCActivity); sda.closeConnection(); Console.WriteLine("Euromessage' a iletilmeyi bekleyen kampanya aktiviteleri alındı."); logMe.Log("SendSmsIntegration - Execute", "Euromessage' a iletilmeyi bekleyen kampanya aktiviteleri alındı. Adet: " + dtCActivity.Rows.Count, TEMPEventLog.EventType.Info); #endregion | Get Campaign Activity | SmsFunctions sFunc = new SmsFunctions(); foreach (DataRow dr in dtCActivity.Rows) { smsList = string.Empty; string subject = string.Empty; Console.WriteLine("Kampanya aktivitesi işlemleri baçşladı."); DateTime startDate = (DateTime)dr["CAS"]; //if ((DateTime.Now.Hour == startDate.Hour && DateTime.Now.Minute >= startDate.Minute) || (DateTime.Now.Hour > startDate.Hour)) //{ Guid campaignActivityID = new Guid(dr["CAID"].ToString()); if (dr["CS"] != DBNull.Value) { subject = dr["CS"].ToString(); } //Kampanya aktivitesine ait listeler çekilir. DataTable marketingLists = GetMarketingList(sda); //Eğer kampanya aktivitesi altında pazarlama listesi yoksa herhangi bir işlem yapılmaz. if (marketingLists != null && marketingLists.Rows.Count > 0) { campaignXmlFile = sFunc.BuildXml(dr); if (!string.IsNullOrEmpty(campaignXmlFile)) { foreach (DataRow drList in marketingLists.Rows) { listId = new Guid(drList["ListId"].ToString()); if (listId != Guid.Empty) { //Pazarlama listesine eklenen müsteriler çekilir. DataTable customerList = sFunc.GetCustomerList(sda, listId); if (customerList != null && customerList.Rows.Count > 0) { smsList += sFunc.BuildSmsList(customerList); } } } if (!string.IsNullOrEmpty(smsList)) { dataFile = sFunc.BuildDataFile(smsList, subject); if (!string.IsNullOrEmpty(dataFile)) { zipFileName = sFunc.WriteZip(dataFile, subject); sFunc.UploadViaSftp(zipFileName, sftpUrl, sftpUsername, sftpPassword); //Kampanya aktivitesi 100000004->EuroMsg Gönderim Yapıldı olarak UPDATE Ediliyor. SetStateRequest stateRequest = new SetStateRequest() { EntityMoniker = new EntityReference("campaignactivity", campaignActivityID), State = new OptionSetValue(1), Status = new OptionSetValue(100000004) }; SetStateResponse stateResponse = (SetStateResponse)orgService.Execute(stateRequest); Console.WriteLine("Kampanya aktivitesi Euromsg'a başarıyla gönderildi. Aktivite Id : " + campaignActivityID.ToString()); } else { Console.WriteLine("Marketing list için .txt oluşturulamadı."); logMe.Log("SendSmsIntegration - Execute", "Marketing list için .txt oluşturulamadı.", TEMPEventLog.EventType.Info, "new_campaignactivity", dr["CAID"].ToString()); } } } else { Console.WriteLine("Kampanya aktivitesi için XML oluşturulamadı."); logMe.Log("SendSmsIntegration - Execute", "Kampanya aktivitesi için XML oluşturulamadı.", TEMPEventLog.EventType.Info, "new_campaignactivity", dr["CAID"].ToString()); } } else { Console.WriteLine("Kampanya aktivitesine ait pazarlama listesi bulunmamaktadır."); logMe.Log("SendSmsIntegration - Execute", "Kampanya aktivitesine ait pazarlama listesi bulunmamaktadır.", TEMPEventLog.EventType.Info, "new_campaignactivity", dr["CAID"].ToString()); } //} //else //{ // Console.WriteLine("Başlangıç saati gelmediğinden dolayı kampanya aktivitesi Euromsg'a gönderilmedi."); // logMe.Log("SendSmsIntegration - Execute", "Başlangıç saati gelmediğinden dolayı kampanya aktivitesi Euromsg'a gönderilmedi. Kampanya Aktivitesi ID: " + dr["CAID"].ToString(), TEMPEventLog.EventType.Info); //} Console.WriteLine("Kampanya aktivitesi işlemleri bitti."); } Console.WriteLine("Gönderilmeyi bekleyen kampanya aktivitelerinin alınma işlemi sona erdi."); logMe.Log("SendSmsIntegration - Execute", "Gönderilmeyi bekleyen kampanya aktivitelerinin alınma işlemi sona erdi.", TEMPEventLog.EventType.Info); } catch (Exception ex) { Console.WriteLine("İşlemler sırasında bir hata ile karşılaşıldı."); logMe.Log("SendSmsIntegration - Execute", ex, TEMPEventLog.EventType.Exception); } }
public void Execute() { string campaignXmlFile = string.Empty; string smsList = string.Empty; string dataFile = string.Empty; string zipFileName = string.Empty; Guid listId = Guid.Empty; Console.WriteLine("SMS gönderim uygulaması çalıştı."); try { logMe.Log("SendSmsIntegration - Execute", "Mail gönderim uygulaması başladı.", TEMPEventLog.EventType.Info); SmsFunctions sFunc = new SmsFunctions(); Console.WriteLine("Kampanya aktivitesi işlemleri başladı."); //if ((DateTime.Now.Hour == startDate.Hour && DateTime.Now.Minute >= startDate.Minute) || (DateTime.Now.Hour > startDate.Hour)) //{ //Kampanya aktivitesine ait listeler çekilir. DataTable marketingLists = GetMarketingList(sda); //Eğer kampanya aktivitesi altında pazarlama listesi yoksa herhangi bir işlem yapılmaz. if (marketingLists != null && marketingLists.Rows.Count > 0) { foreach (DataRow drList in marketingLists.Rows) { listId = new Guid(drList["ListId"].ToString()); if (listId != Guid.Empty) { //Pazarlama listesine eklenen müsteriler çekilir. DataTable customerList = sFunc.GetCustomerList(sda, listId); Console.WriteLine("Data Alındı"); if (customerList != null && customerList.Rows.Count > 0) { smsList += sFunc.BuildSmsList(customerList); } Console.WriteLine("Sms Listsi oluşturuldu."); if (!string.IsNullOrEmpty(smsList)) { dataFile = sFunc.BuildDataFile(smsList, drList["ListName"].ToString()); smsList = string.Empty; Console.WriteLine(customerList.Rows.Count); if (!string.IsNullOrEmpty(dataFile)) { zipFileName = sFunc.WriteZip(dataFile, drList["ListName"].ToString()); sFunc.UploadViaSftp(zipFileName, sftpUrl, sftpUsername, sftpPassword); UpdateMarkengListStatus(listId); } else { Console.WriteLine("Marketing list için .txt oluşturulamadı."); logMe.Log("SendSmsIntegration - Execute", "Marketing list için .txt oluşturulamadı.", TEMPEventLog.EventType.Info, "List", listId.ToString()); } } } } } else { Console.WriteLine("Kampanya aktivitesine ait pazarlama listesi bulunmamaktadır."); logMe.Log("SendSmsIntegration - Execute", "Kampanya aktivitesine ait pazarlama listesi bulunmamaktadır.", TEMPEventLog.EventType.Info, "new_campaignactivity", listId.ToString()); } //} //else //{ // Console.WriteLine("Başlangıç saati gelmediğinden dolayı kampanya aktivitesi Euromsg'a gönderilmedi."); // logMe.Log("SendSmsIntegration - Execute", "Başlangıç saati gelmediğinden dolayı kampanya aktivitesi Euromsg'a gönderilmedi. Kampanya Aktivitesi ID: " + dr["CAID"].ToString(), TEMPEventLog.EventType.Info); //} Console.WriteLine("Kampanya aktivitesi işlemleri bitti."); Console.WriteLine("Gönderilmeyi bekleyen kampanya aktivitelerinin alınma işlemi sona erdi."); logMe.Log("SendSmsIntegration - Execute", "Gönderilmeyi bekleyen kampanya aktivitelerinin alınma işlemi sona erdi.", TEMPEventLog.EventType.Info); } catch (Exception ex) { Console.WriteLine("İşlemler sırasında bir hata ile karşılaşıldı."); logMe.Log("SendSmsIntegration - Execute", ex, TEMPEventLog.EventType.Exception); } }
public void Execute() { try { logMe.Log("UpdateCampaignActivity_SMS - Execute", "UpdateCampaignActivity Uygulaması Başladı.Tarih : " + DateTime.Now.ToString(), TEMPEventLog.EventType.Info); #region | Get Campaign Activity | #region | Query | string queryCA = @"SELECT E.ActivityId CAID, ( SELECT COUNT(0) FROM NEFCUSTOM_MSCRM..EuroMessageSmsErrorTable WHERE Error = 1 AND ActivityId = e.ActivityId )FailureCount, ( SELECT COUNT(0) FROM NEFCUSTOM_MSCRM..EuroMessageSmsTempTable WHERE Error = 0 AND ActivityId = e.ActivityId AND StatusCode!=5 )EmailCount, ( SELECT COUNT(0) FROM NEFCUSTOM_MSCRM..EuroMessageSmsTempTable WHERE Error = 0 AND StatusCode = 100000003 AND ActivityId = e.ActivityId )NoSendEmailCount, ( SELECT COUNT(0) FROM NEFCUSTOM_MSCRM..EuroMessageSmsTempTable WHERE ActivityId = e.ActivityId AND Error = 0 AND ( StatusCode = 100000001 OR StatusCode = 1 ) )ResponseWaitingCount FROM NEFCUSTOM_MSCRM..EuroMessageSmsTempTable E (NOLOCK), CampaignActivity Ca (NOLOCK) WHERE ca.ActivityId = E.ActivityId and GETDATE() > Ca.new_euromessagereportlimit GROUP BY E.ActivityId"; #endregion | Query | sda.openConnection(Globals.ConnectionString); DataTable dtCA = sda.getDataTable(queryCA); sda.closeConnection(); SmsFunctions sFunc = new SmsFunctions(); foreach (DataRow dr in dtCA.Rows) { if ((int)dr["ResponseWaitingcount"] == 0) { try { Guid campaignActivityId = (Guid)dr["CAID"]; UpdateCampaignActivityStatus(campaignActivityId); } catch (Exception ex) { logMe.Log("UpdateCampaignActivity_SMS - Execute", ex, TEMPEventLog.EventType.Exception); } } } #endregion logMe.Log("UpdateCampaignActivity_SMS - Execute", "UpdateCampaignActivity Uygulaması Bitti.Tarih : " + DateTime.Now.ToString(), TEMPEventLog.EventType.Info); } catch (Exception ex) { logMe.Log("UpdateCampaignActivity_SMS - Execute", ex, TEMPEventLog.EventType.Exception); } }
public string Login() { eFunc = new SmsFunctions(); AuthorizationServiceKey = eFunc.AuthenticationEM(); return(AuthorizationServiceKey); }