public ActionResult GetNewsletter(string slug) { Newsletter newsletter = null; newsletter = _dynamicsClient.GetNewsletterBySlug(slug); if (newsletter == null) { return(new NotFoundResult()); } return(new JsonResult(newsletter)); }
public static void RemoveNewsletterSubscriber(this IDynamicsClient context, string slug, string email) { Newsletter newsletter = context.GetNewsletterBySlug(slug); if (newsletter != null) { /* * Subscriber existing = newsletter.Subscribers.FirstOrDefault(x => x.Email == email); * if (existing != null) * { * newsletter.Subscribers.Remove(existing); * context.Newsletters.Update(newsletter); * context.SaveChanges(); * } */ } }
/// <summary> /// Adds a jurisdiction to the system, only if it does not exist. /// </summary> private static void AddInitialNewsletter(this IDynamicsClient context, ViewModels.Newsletter initialNewsletter) { Newsletter newsletter = context.GetNewsletterBySlug(initialNewsletter.slug); if (newsletter != null) { return; } newsletter = new Newsletter ( initialNewsletter.slug, initialNewsletter.title, initialNewsletter.description ); context.AddNewsletter(newsletter); }
/// <summary> /// Update region /// </summary> /// <param name="context"></param> /// <param name="regionInfo"></param> public static void UpdateSeedNewsletterInfo(this IDynamicsClient context, Models.Newsletter newsletterInfo) { Newsletter newsletter = context.GetNewsletterBySlug(newsletterInfo.Slug); if (newsletter == null) { context.AddInitialNewsletter(newsletterInfo.ToViewModel()); } else { // update Newsletter. MicrosoftDynamicsCRMlist list = new MicrosoftDynamicsCRMlist() { Purpose = newsletterInfo.Title, Description = newsletterInfo.Description, Listname = newsletterInfo.Slug }; context.Lists.Update(newsletter.Id.ToString(), list); } }
public static void AddNewsletterSubscriber(this IDynamicsClient dynamicsClient, string slug, string email) { bool newSubscriber = false; Newsletter newsletter = dynamicsClient.GetNewsletterBySlug(slug); if (newsletter != null) { MicrosoftDynamicsCRMlead subscriber = dynamicsClient.GetSubscriberByEmail(email); if (subscriber == null) { // add the new subscriber MicrosoftDynamicsCRMlead newLead = new MicrosoftDynamicsCRMlead() { Emailaddress1 = email, Firstname = email }; try { subscriber = dynamicsClient.Leads.Create(newLead); newSubscriber = true; } catch (HttpOperationException) { subscriber = null; } catch (Exception) { subscriber = null; } } if (subscriber != null) { // add the subscriber to the newsletter (Marketing List) // check to determine if it is there already. bool notFound = true; if (subscriber.ListleadAssociation != null) { foreach (var item in subscriber.ListleadAssociation) { if (item.Listid == newsletter.Id.ToString()) { notFound = false; } } } if (notFound) { try { EntityIdReference oDataId = new EntityIdReference() { EntityId = subscriber.Leadid }; dynamicsClient.Lists.AddMember(newsletter.Id.ToString(), oDataId); } catch (HttpOperationException) { throw; } } } } }