Add email to support requests.

This commit is contained in:
Jared Goodwin 2021-04-20 06:56:29 -07:00
parent 5b576406b7
commit d9ed96d4fd

View File

@ -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("<br />", alertParts);
foreach (var user in orgUsers)
{
await _emailSender.SendEmailAsync(user.Email, "Support Request", emailMessage);
}
StatusMessage = "We got it! Someone will contact you soon.";