private string LoopAdditionalLocations(WasteFormModel model) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < model.LocationsArray.Count; i++) { sb.Append($"Location { i + 2 }:" + $"Address: <b>{model.LocationsArray[i].Address}</b><br />" + $"City: <b>{model.LocationsArray[i].City}</b><br />" + $"State: <b>{model.LocationsArray[i].State}</b><br />" + $"Postal code: <b>{model.LocationsArray[i].PostalCode}</b><br />" + $"Country: <b>{model.LocationsArray[i].Country}</b><br />" + $"Pickup date: <b>{model.LocationsArray[i].PickupDate}</b><br />" + $"Pickup time: <b>{model.LocationsArray[i].PickupTime}</b><br />" + $"Schedule phrase: <b>{model.LocationsArray[i].Phrase}</b><br />" + $"Location type: <b>{model.LocationsArray[i].LocationType}</b><br />" + $"Additional info: <b>{model.LocationsArray[i].Additional}</b><br />" + $"<br />" ); } return(sb.ToString()); }
public async Task <IActionResult> PostWasteOrder([FromBody] WasteFormModel model) { if (!ModelState.IsValid) { return(BadRequest($"Model not valid: {ModelState}")); } try { var customer = new Customer() { FirstName = model.FirstName, LastName = model.LastName }; var sendToCustomer = new MailModel() { Email = model.Email, Subject = "Your Hollywood Bowls order", HtmlTemplate = _emailTemplateService.PopulateCustomerTemplate(customer) }; var sendToOwner = new MailModel() { //Email = "*****@*****.**", Email = "*****@*****.**", Subject = $"Order from {model.FirstName} {model.LastName}", HtmlTemplate = _emailTemplateService.PopulateWasteOrderTemplate(model) }; await _emailService.SendMail(sendToCustomer); await _emailService.SendMail(sendToOwner); return(Ok()); } catch (Exception exc) { return(StatusCode(500, exc.Message)); } }
public string PopulateWasteOrderTemplate(WasteFormModel model) { StringBuilder body = new StringBuilder(); using (StreamReader reader = new StreamReader(Path.Combine(Environment.CurrentDirectory, "MailTemplates/WasteOrderTemplate.html"))) { body.Append(reader.ReadToEnd()); } body.Replace("{Company}", model.Company); body.Replace("{FirstName}", model.FirstName); body.Replace("{LastName}", model.LastName); body.Replace("{Email}", model.Email); body.Replace("{Phone}", model.Phone); body.Replace("{Address}", model.Address); body.Replace("{City}", model.City); body.Replace("{State}", model.State); body.Replace("{PostalCode}", model.PostalCode); body.Replace("{Country}", model.Country); body.Replace("{Phrase}", model.Phrase); body.Replace("{LocationType}", model.LocationType); body.Replace("{PickupDate}", model.PickupDate); body.Replace("{PickupTime}", model.PickupTime); body.Replace("{Aditional}", model.Additional); if (model.LocationsArray.Count == 0) { body.Replace("{Locations}", "No"); } else { for (int i = 0; i < model.LocationsArray.Count; i++) { body.Replace("{Locations}", LoopAdditionalLocations(model)); } } return(body.ToString()); }