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(); }
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; } } } }
private void frmContact_Load(object sender, EventArgs e) { try { string state = "ok"; _accessToken = OAuth.AuthenticateFromWinProgram(ref state); if (string.IsNullOrEmpty(_accessToken)) { Application.Exit(); } //initialize ConstantContact member IUserServiceContext userServiceContext = new UserServiceContext(_accessToken, _apiKey); _constantContactFactory = new ConstantContactFactory(userServiceContext); } catch (OAuth2Exception oauthEx) { MessageBox.Show(string.Format("Authentication failure: {0}", oauthEx.Message), "Warning"); } toolTipClose.SetToolTip(lblClose, "Close"); lblErrorMsg.Visible = false; #region Populate list of countries var countries = new List<RegionInfo>(); CultureInfo[] cinfo = CultureInfo.GetCultures(CultureTypes.SpecificCultures); foreach (CultureInfo cul in cinfo) { var country = new RegionInfo(cul.LCID); if (country != null && !countries.Contains(country)) { countries.Add(country); } } countries = countries.OrderBy(c => c.EnglishName).ToList(); cbCountry.Items.Add(new CountryInfo(string.Empty, string.Empty)); var US = countries.Where(c => c.EnglishName.Equals("United States")).FirstOrDefault(); var Canada = countries.Where(c => c.EnglishName.Equals("Canada")).FirstOrDefault(); if (US != null) { countries.Remove(US); } if (Canada != null) { countries.Remove(Canada); } var lstCountries = countries.Select(c => new CountryInfo(c.EnglishName, c.TwoLetterISORegionName)).ToArray(); if (US != null) { cbCountry.Items.Add(new CountryInfo(US.EnglishName, US.TwoLetterISORegionName)); } if (Canada != null) { cbCountry.Items.Add(new CountryInfo(Canada.EnglishName, Canada.TwoLetterISORegionName)); } cbCountry.Items.AddRange(lstCountries); cbCountry.ValueMember = "TwoLetterCountryName"; cbCountry.DisplayMember = "Name"; #endregion Populate list of countries }
/// <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); } }