private void createCampaignActivityEM(Entity entity, string authentication, IOrganizationService service) { Guid campaignActivityId = entity.Id; EmEmailCampaign eCampaign; OrganizationServiceContext orgcontext = new OrganizationServiceContext(service); int sendingType = 1; try { if (entity.Contains("new_sendingtype")) { sendingType = ((OptionSetValue)entity["new_sendingtype"]).Value; } var query = (from r in orgcontext.CreateQuery("campaignactivity") where (Guid)r["activityid"] == campaignActivityId select new { campaign = r.Attributes.Contains("regardingobjectid") ? r["regardingobjectid"] : new EntityReference("campaign", Guid.Empty), CampaignSubject = r.Attributes.Contains("subject") ? r["subject"] : string.Empty }).FirstOrDefault(); if (query != null) { eCampaign = new EmEmailCampaign(); // Periyodik if (sendingType == 2) { eCampaign.CampaignType = EmEmailCampaignType.SingleShot; eCampaign.HtmlMessage = GetHtmlAttachment(Globals.BirthdayCampaignId, service); } else // Standart { eCampaign.CampaignType = EmEmailCampaignType.Template; eCampaign.HtmlMessage = "<html><head></head><body></body></html>"; } eCampaign.CampaignID = campaignActivityId.ToString().Replace("{", "").Replace("}", "").Replace("-", "").ToUpper(); eCampaign.ClickThroughFlag = true; eCampaign.FromAddress = Globals.EuromsgFromAddressLive; eCampaign.FromName = Globals.EuromsgFromNameLive; eCampaign.GoogleAnalytics = false; eCampaign.GoogleUtmCampaign = ""; eCampaign.GoogleUtmContent = ""; eCampaign.GoogleUtmMedium = ""; eCampaign.GoogleUtmSource = ""; eCampaign.GoogleUtmTerm = ""; eCampaign.Locked = false; eCampaign.Name = ((EntityReference)query.campaign).Name; eCampaign.OmnitureFlag = false; eCampaign.RateFlag = false; eCampaign.ReadFlag = true; eCampaign.ReplyAddress = Globals.EuromsgReplyAddressLive; eCampaign.Speed = 1; eCampaign.Subject = new string[1]; eCampaign.Subject[0] = query.CampaignSubject.ToString(); eCampaign.UniqueEmailFlag = false; eCampaign.ShareThisFlag = false; EmCampaignFuncRes emResult = campaign.CreateEmailCampaign(authentication, ref eCampaign); if (emResult.Code != "00") // Başarısız ise { if (emResult.Message == "Email message has a high spam score. This e-mail campaign can't be created." || emResult.Message == "Not a valid from name!") { throw new InvalidPluginExecutionException(emResult.Message); } else { throw new InvalidPluginExecutionException(emResult.Message + "\n" + emResult.DetailedMessage); } } LogoutEM(authentication); } } catch (Exception ex) { throw new InvalidPluginExecutionException(ex.ToString()); } }