private void frmEmailCampaign_Load(object sender, EventArgs e) { try { string state = "ok"; _accessToken = OAuth.AuthenticateFromWinProgram(ref state); if (string.IsNullOrEmpty(_accessToken)) { Application.Exit(); } //initialize ConstantContact members IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey); ConstantContactFactory _constantContactFactory = new ConstantContactFactory(userServiceContext); _emailCampaignService = _constantContactFactory.CreateEmailCampaignService(); _emailCampaginScheduleService = _constantContactFactory.CreateCampaignScheduleService(); _listService = _constantContactFactory.CreateListService(); _accountService = _constantContactFactory.CreateAccountService(); } catch (OAuth2Exception oauthEx) { MessageBox.Show(string.Format("Authentication failure: {0}", oauthEx.Message), "Warning"); } PopulateCampaignTypeList(); PopulateListOfCountries(); PopulateUSAndCanadaListOfStates(); GetListOfContacts(); PopulateEmailLists(); }
protected void btnCreateCampaign_Click(object sender, EventArgs e) { try { string _accessToken = GetListService();// OAuth.GetAccessTokenByCode(HttpContext.Current, Request.QueryString["code"].ToString()); string _apiKey = ConfigurationManager.AppSettings["APIKey"]; IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey); ConstantContactFactory _constantContactFactory = new ConstantContactFactory(userServiceContext); _emailCampaignService = _constantContactFactory.CreateEmailCampaignService(); _emailCampaginScheduleService = _constantContactFactory.CreateCampaignScheduleService(); // EmailCampaign campaign = CreateCampaignFromInputs(); EmailCampaign campaign = CreateCampaignFromInputs(); var savedCampaign = _emailCampaignService.AddCampaign(campaign); if (savedCampaign != null) { //campaign was saved, but need to schedule it, if the case Schedule schedule = null; { schedule = new Schedule() { ScheduledDate = Convert.ToDateTime(DateTime.Now.AddMinutes(1).ToShortTimeString().Trim()).ToUniversalTime() }; } Schedule savedSchedule = _emailCampaginScheduleService.AddSchedule(savedCampaign.Id, schedule); } } catch (Exception ex) { } }
protected void Button1_Click(object sender, EventArgs e) { _apiKey = ConfigurationManager.AppSettings["APIKey"]; Session["campaign"] = TextBox1.Text; try { string state = "ok"; OAuth.AuthorizeFromWebApplication(HttpContext.Current , state); //initialize ConstantContact members IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey); ConstantContactFactory _constantContactFactory = new ConstantContactFactory(userServiceContext); _emailCampaignService = _constantContactFactory.CreateEmailCampaignService(); _emailCampaginScheduleService = _constantContactFactory.CreateCampaignScheduleService(); _listService = _constantContactFactory.CreateListService(); _accountService = _constantContactFactory.CreateAccountService(); } catch (OAuth2Exception oauthEx) { // MessageBox.Show(string.Format("Authentication failure: {0}", oauthEx.Message), "Warning"); } //PopulateListOfCountries(); //PopulateUSAndCanadaListOfStates(); //GetListOfContacts(); //PopulateEmailLists(); }
private void Initialize() { try { string state = "ok"; if (String.IsNullOrEmpty(_emailTemplateTransformUrl)) { throw new Exception("Missing email campaign template location from configuration"); } if ((String.IsNullOrEmpty(_apiKey) || String.IsNullOrEmpty(_accessToken)) && !String.IsNullOrEmpty(_emailConnectionTransformUrl)) { XDocument emailConnection = new XDocument(); using (System.Xml.XmlWriter writer = emailConnection.CreateWriter()) { XslCompiledTransform emailConnectionTransform = new XslCompiledTransform(); emailConnectionTransform.Load(_emailConnectionTransformUrl); emailConnectionTransform.Transform(XDocument.Parse("<dummy />").CreateReader(), writer); } } if (String.IsNullOrEmpty(_accessToken)) { _accessToken = OAuth.AuthenticateFromWinProgram(ref state); } if (string.IsNullOrEmpty(_accessToken)) { throw new Exception("Unable to authenticate & retrieve access token"); } //initialize ConstantContact members IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey); ConstantContactFactory _constantContactFactory = new ConstantContactFactory(userServiceContext); _emailCampaignService = _constantContactFactory.CreateEmailCampaignService(); _emailCampaginScheduleService = _constantContactFactory.CreateCampaignScheduleService(); _listService = _constantContactFactory.CreateListService(); } catch (OAuth2Exception oauthEx) { GlobalFunctions.WarnLog(string.Format("Authentication failure: {0}", oauthEx.Message)); } }
public void SendCampaign() { if (ValidateFields()) { var confirmResult = MessageBox.Show(CommonConstants.MandatoryFields.Alert, CommonConstants.MandatoryFields.SendCampaign, MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { string campaignId = cmbCampaign.SelectedValue.ToString(); // Loading panel Cursor.Current = Cursors.WaitCursor; try { ApiKey = ConstantContactAPI; AccessToken = ConstantContactToken; IUserServiceContext userServiceContext = new UserServiceContext(AccessToken, ApiKey); var cc = new ConstantContactFactory(userServiceContext); List<SentContactList> SentContactListObj = new List<SentContactList>(); Contact contact = new Contact(); List<Contact> contactList = new List<Contact>(); var emailCampignService = cc.CreateEmailCampaignService(); var result = emailCampignService.GetCampaign(campaignId); int count = 0; foreach (var item in result.Lists) { SentContactList contactObj = new SentContactList(); contactObj.Id = item.Id; SentContactListObj.Add(contactObj); } foreach (var item in SentContactListObj) { try { var getContactDetails = cc.CreateListService(); var contactDetails = getContactDetails.GetContactsFromList(item.Id,null); foreach (var j in contactDetails.Results) { string message = getMessageDetails(txtMessage.Text.Trim(), j); string phone = getPhoneDetails(cmbFieldPhone.Text.Trim(), j); if (!string.IsNullOrEmpty(phone)) { // Send SMS string smsResult = SmsSender.SendSMS(phone, NexmoFromNumber, NexmoAPI, NexmoSecretKey, HttpUtility.UrlEncode(message)); count++; } } } catch (Exception ex) { // Logger.Write(ex); continue; } } if(count>0) { MessageBox.Show(CommonConstants.MandatoryFields.Success); } else { MessageBox.Show(CommonConstants.MandatoryFields.MSGNOTSEND); } this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Cursor.Current = Cursors.Default; } } } }
/// <summary> /// Bind Campaign in dropdown /// </summary> public void LoadCampaign() { try { ApiKey = ConstantContactAPI; AccessToken = ConstantContactToken; IUserServiceContext userServiceContext = new UserServiceContext(AccessToken, ApiKey); var cc = new ConstantContactFactory(userServiceContext); var emailCampignService = cc.CreateEmailCampaignService(); ResultSet<EmailCampaign> listsAll = emailCampignService.GetCampaigns(null, null, null); ResultSet<EmailCampaign> filteredList = new ResultSet<EmailCampaign>() ; List<ConstantContactList> mailChimpList = new List<ConstantContactList>(); if (listsAll != null && listsAll.Results.Count > 0) { filteredList.Results = listsAll.Results.Where(p => p.Status.Equals(CampaignStatus.DRAFT)).ToList(); if (!chkDraft.Checked) { var newList = filteredList.Results.ToList(); newList.RemoveAll(p => p.Status == CampaignStatus.DRAFT); filteredList.Results = newList; } else { filteredList.Results = listsAll.Results.Where(p => p.Status == CampaignStatus.DRAFT).ToList(); } if (!chkSchedule.Checked) { filteredList.Results.ToList().RemoveAll(p => p.Status == CampaignStatus.SCHEDULED); } else { var newList = filteredList.Results.ToList(); newList.RemoveAll(p => p.Status == CampaignStatus.SCHEDULED); filteredList.Results = newList; filteredList.Results = filteredList.Results.Concat(listsAll.Results.Where(p => p.Status == CampaignStatus.SCHEDULED)).ToList(); } if (!chkSent.Checked) { var newList = filteredList.Results.ToList(); newList.RemoveAll(p => p.Status == CampaignStatus.SENT); filteredList.Results = newList; } else { if (filteredList.Results != null) { var newList = filteredList.Results.ToList(); newList.RemoveAll(p => p.Status == CampaignStatus.SENT); filteredList.Results = newList; filteredList.Results = filteredList.Results.Concat(listsAll.Results.Where(p => p.Status == CampaignStatus.SENT)).ToList(); } } cmbCampaign.DataSource = null; cmbCampaign.Items.Clear(); mailChimpList.Add(new ConstantContactList("0", CommonConstants.MandatoryFields.SelectCampaign)); foreach (var list in filteredList.Results.OrderBy(p=>p.Name)) { mailChimpList.Add(new ConstantContactList(list.Id.ToString(), list.Name+" "+'(' + list.Status + ')')); } cmbCampaign.DisplayMember = "Name"; cmbCampaign.ValueMember = "Id"; cmbCampaign.DataSource = mailChimpList; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }