diff --git a/Server/Pages/GetSupport.cshtml.cs b/Server/Pages/GetSupport.cshtml.cs
index 4453dc79..0e642b51 100644
--- a/Server/Pages/GetSupport.cshtml.cs
+++ b/Server/Pages/GetSupport.cshtml.cs
@@ -8,14 +8,15 @@ namespace Remotely.Server.Pages
{
public class GetSupportModel : PageModel
{
- public GetSupportModel(IDataService dataService)
+ private readonly IDataService _dataService;
+ private readonly IEmailSenderEx _emailSender;
+
+ public GetSupportModel(IDataService dataService, IEmailSenderEx emailSender)
{
- DataService = dataService;
+ _dataService = dataService;
+ _emailSender = emailSender;
}
-
- private IDataService DataService { get; }
-
[TempData]
public string StatusMessage { get; set; }
@@ -34,14 +35,25 @@ namespace Remotely.Server.Pages
return Page();
}
- var orgID = DataService.GetDevice(deviceID)?.OrganizationID;
+ var orgID = _dataService.GetDevice(deviceID)?.OrganizationID;
- var alertMessage = $"{Input.Name} is requesting support. " +
- $"Email: {Input.Email}. " +
- $"Phone: {Input.Phone}. " +
- $"Chat OK: {Input.ChatResponseOk}.";
+ var alertParts = new string[]
+ {
+ $"{Input.Name} is requesting support.",
+ $"Email: {Input.Email}.",
+ $"Phone: {Input.Phone}.",
+ $"Chat OK: {Input.ChatResponseOk}."
+ };
- await DataService.AddAlert(deviceID, orgID, alertMessage);
+ var alertMessage = string.Join(" ", alertParts);
+ await _dataService.AddAlert(deviceID, orgID, alertMessage);
+
+ var orgUsers = _dataService.GetAllUsersInOrganization(orgID);
+ var emailMessage = string.Join("
", alertParts);
+ foreach (var user in orgUsers)
+ {
+ await _emailSender.SendEmailAsync(user.Email, "Support Request", emailMessage);
+ }
StatusMessage = "We got it! Someone will contact you soon.";