Ejemplo n.º 1
0
        public void CreateRequest(string campaignId, DateTime deliveryDate, IOrganizationService service)
        {
            Report         emReport      = new Report();
            string         columnMap     = "GSM_NO=GSM_NO";
            string         newcampaignId = campaignId.ToString().Replace("{", "").Replace("}", "").Replace("-", "").ToUpper();
            EmReportResult result        = emReport.GetSmsCampaignDeliveryStatusReportBetweenTwoDatesViaFtp(AuthorizationServiceKey, newcampaignId,
                                                                                                            columnMap, "pass", "", string.Format("{0:yyyyMMdd HH:mm:ss}", deliveryDate.AddDays(-1)), string.Format("{0:yyyyMMdd HH:mm:ss}", DateTime.Now.AddDays(7)),
                                                                                                            new FtpInfo()
            {
                ChangeDir = "EuroMessageSms",
                Password  = ftpPassword,
                ServerIP  = serverIp,
                Username  = ftpUser,
                Port      = 21
            });

            if (result.Code == "00")
            {
                InsertTempTable(new Guid(campaignId), result.ConversationID, service);
            }
            else
            {
                logMe.Log("GetSmsResponse - CreateRequest", result.DetailedMessage + " " + result.Message, TEMPEventLog.EventType.Exception);
            }
        }
Ejemplo n.º 2
0
        public void CreateRequest(string campaignId, IOrganizationService service)
        {
            Report         emReport      = new Report();
            string         columnMap     = "EMAIL=Email";
            string         newcampaignId = campaignId.ToString().Replace("{", "").Replace("}", "").Replace("-", "").ToUpper();
            EmReportResult result        = emReport.GetEmailCampaignDeliveryStatusReportViaFtp(AuthorizationServiceKey, newcampaignId,
                                                                                               columnMap, "pass", "",
                                                                                               new FtpInfo()
            {
                ChangeDir = "EuroMessageEmail",
                Password  = ftpPassword,
                ServerIP  = serverIp,
                Username  = ftpUser,
                Port      = 21
            });

            if (result.Code == "00")
            {
                InsertTempTable(new Guid(campaignId), result.ConversationID, service);
            }
            else
            {
                logMe.Log("GetEmailResponse - CreateRequest", result.DetailedMessage + " " + result.Message, TEMPEventLog.EventType.Exception);
            }
        }
Ejemplo n.º 3
0
        private string PassiveMembers(string authentication, string status, string permit)
        {
            string conversationID = string.Empty;

            try
            {
                Report             rp = new Report();
                EmKeyOperatorValue a  = new EmKeyOperatorValue();
                a.Key      = "STATUS";
                a.Operator = "=";
                a.Value    = status;

                EmKeyOperatorValue b = new EmKeyOperatorValue();
                b.Key      = "EMAIL_PERMIT";
                b.Operator = "=";
                b.Value    = permit;

                EmKeyOperatorValue[] dizi = new EmKeyOperatorValue[2];
                dizi[0] = a;
                dizi[1] = b;

                EmReportResult result = rp.GetFilteredMembers(authentication, dizi, columnMap, "pass", "",
                                                              new FtpInfo()
                {
                    ChangeDir = "/FilterMemberEmail",
                    Password  = ftpPassword,
                    ServerIP  = serverIp,
                    Username  = ftpUser,
                    Port      = 21
                });

                if (result.Code == "00")
                {
                    conversationID = result.ConversationID;
                }
            }
            catch (Exception ex)
            {
                logMe.Log("GetFilteredMembers - PassiveMembers", "Euromsg işlemleri sırasında hata alındı. Hata mesajı = " + ex.Message, TEMPEventLog.EventType.Exception);
            }

            return(conversationID);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Periyodik gönderim olarak set edilmiş kampanya aktivitelerini dağıtıldı durumuna çeker.
        /// </summary>
        public void SetCampaignActivityDistributed()
        {
            Guid   campaignActivityId = Guid.Empty;
            string campId             = string.Empty;
            string scheduledStart     = string.Empty;
            string scheduledEnd       = string.Empty;

            try
            {
                string serviceTicket = AuthenticationEM();

                if (!string.IsNullOrEmpty(serviceTicket))
                {
                    // Sms, Teste gönderildi, Periyodik
                    string query = @"DECLARE @Now DATETIME
                                     SET @Now = CONVERT(DATETIME, CONVERT(NVARCHAR(10), GETUTCDATE(), 104), 104)
                                     
                                     SELECT
                                         CA.ActivityId CAID
                                        , DATEADD(HOUR, 10, CAST(CAST(CA.ScheduledStart AS DATE) AS DATETIME)) ScheduledStart
                                        , DATEADD(HOUR, 21, CAST(CAST(CA.ScheduledEnd AS DATE) AS DATETIME)) ScheduledEnd
                                     FROM
                                         CampaignActivity CA (NOLOCK)
                                     WHERE
                                             CA.new_sendingtype = 2
                                         AND
                                             CA.StateCode = 0
                                         AND
                                             CA.StatusCode = 100000005
                                         AND
                                             CA.ChannelTypeCode = 3
                                        AND
                                            CA.CreatedOn >= @Now"    ;
                    sda.openConnection(Globals.ConnectionString);
                    DataTable dt = sda.getDataTable(query);
                    sda.closeConnection();
                    foreach (DataRow dr in dt.Rows)
                    {
                        campaignActivityId = new Guid(dr["CAID"].ToString());

                        try
                        {
                            campId = campaignActivityId.ToString().Replace("{", "").Replace("}", "").Replace("-", "").ToUpper();

                            EmSmsCampaignReportResult eCampaign;
                            EmReportResult            rResult = report.GetSmsCampaignReportWithCampID(serviceTicket, campId, out eCampaign);

                            if (rResult.Code == "00")
                            {
                                if (eCampaign.Status == "TESTED")
                                {
                                    SetStateRequest closeLead = new SetStateRequest()
                                    {
                                        EntityMoniker = new EntityReference("campaignactivity", campaignActivityId),
                                        State         = new OptionSetValue(0),
                                        Status        = new OptionSetValue(6)
                                    };
                                    orgService.Execute(closeLead);

                                    #region |   Set Euromessage Response Period   |
                                    Entity campaignActivity = new Entity("campaignactivity");

                                    campaignActivity.Attributes.Add("activityid", campaignActivityId);
                                    campaignActivity.Attributes.Add("new_euromessagereportlimit", DateTime.Today.AddDays(7));

                                    orgService.Update(campaignActivity);
                                    #endregion |   Set Euromessage Response Period   |
                                }
                            }
                            else
                            {
                                logMe.Log("EmailFunctions - SetCampaignActivityDistributed", "Test sonuçları alınırken hata alındı. Code: " + rResult.Code + " Message: " + rResult.Message, TEMPEventLog.EventType.Info, "campaignactivity", campaignActivityId.ToString());
                            }
                        }
                        catch (Exception ex)
                        {
                            logMe.Log("EmailFunctions - SetCampaignActivityDistributed", ex, TEMPEventLog.EventType.Exception, "campaignactivity", campaignActivityId.ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logMe.Log("EmailFunctions - SetCampaignActivityDistributed", ex, TEMPEventLog.EventType.Exception);
            }
        }