private HttpRequestMessage BuildAddRequest(PancakeProwler.Data.Common.Models.Recipe recipe, Uri uri) { var request = new HttpRequestMessage(HttpMethod.Post, uri); var model = new SendToSearchEnvelope(); model.value.Add(new SendToSearchItem { Action = "upload", id = recipe.Id.ToString(), ingredients = recipe.Ingredients, name = recipe.Name, steps = recipe.Steps }); request.Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); return request; }
public void Add(PancakeProwler.Data.Common.Models.BookCreationRequest request) { var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString); var queueClient = storageAccount.CreateCloudQueueClient(); var queue = queueClient.GetQueueReference("bookqueue"); queue.CreateIfNotExists();//inefficient! do this once per application start and not once per message var message = new CloudQueueMessage(Newtonsoft.Json.JsonConvert.SerializeObject(request)); queue.AddMessage(message); }
public bool AddToIndex(PancakeProwler.Data.Common.Models.Recipe recipe) { var client = GetClient(); var uri = new Uri(new Uri(System.Configuration.ConfigurationManager.AppSettings["AzureSearchBaseURI"]), "indexes/recipes/docs/index?api-version=" + System.Configuration.ConfigurationManager.AppSettings["AzureSearchApiVersion"]); HttpRequestMessage request = BuildAddRequest(recipe, uri); return client.SendAsync(request).Result.StatusCode == System.Net.HttpStatusCode.OK; }
private SendGridMessage CreateEMailMessage(PancakeProwler.Data.Common.Models.BookCreationRequest decodedMessage) { var mailMessage = new SendGridMessage(); mailMessage.AddTo(decodedMessage.EMail); mailMessage.From = new System.Net.Mail.MailAddress("*****@*****.**", "Pancake Prowler"); mailMessage.Subject = "Cookbook Ready"; mailMessage.Html = String.Format(@"Hello {0}, Your personalized cook book is available. To download it simply click <a href='{1}'>here</a>", decodedMessage.Name, new PdfCreator().GetCookBook(decodedMessage.Name)); return mailMessage; }