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());
        }
Пример #2
0
        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());
        }