Skip to content

Commit c882e9a

Browse files
committed
Corrected user notifications when an incident is being closed.
1 parent e7c828a commit c882e9a

File tree

5 files changed

+25
-25
lines changed

5 files changed

+25
-25
lines changed

src/Server/Coderr.Server.App/Core/Accounts/CommandHandlers/RequestPasswordResetHandler.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ namespace codeRR.Server.App.Core.Accounts.CommandHandlers
1717
internal class RequestPasswordResetHandler : IMessageHandler<RequestPasswordReset>
1818
{
1919
private readonly IAccountRepository _accountRepository;
20+
private readonly BaseConfiguration _baseConfig;
2021
private readonly ILog _logger = LogManager.GetLogger(typeof(RequestPasswordResetHandler));
21-
private ConfigurationStore _configStore;
2222

23-
public RequestPasswordResetHandler(IAccountRepository accountRepository, ConfigurationStore configStore)
23+
public RequestPasswordResetHandler(IAccountRepository accountRepository, BaseConfiguration baseConfig)
2424
{
2525
_accountRepository = accountRepository;
26-
_configStore = configStore;
26+
_baseConfig = baseConfig;
2727
}
2828

2929
public async Task HandleAsync(IMessageContext context, RequestPasswordReset command)
@@ -38,16 +38,15 @@ public async Task HandleAsync(IMessageContext context, RequestPasswordReset comm
3838
account.RequestPasswordReset();
3939
await _accountRepository.UpdateAsync(account);
4040

41-
var config = _configStore.Load<BaseConfiguration>();
4241
var cmd = new SendTemplateEmail("Password reset", "ResetPassword")
4342
{
4443
To = account.Email,
4544
Model =
4645
new
4746
{
4847
AccountName = account.UserName,
49-
ResetLink = //TODO: Remove app settings dependency
50-
config.BaseUrl + "/password/reset/" +
48+
ResetLink =
49+
_baseConfig.BaseUrl + "/password/reset/" +
5150
account.ActivationKey
5251
},
5352
Subject = "Reset password"

src/Server/Coderr.Server.App/Core/Incidents/Commands/CloseIncidentHandler.cs

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
24
using System.Threading.Tasks;
35
using codeRR.Server.Api.Core.Incidents.Commands;
46
using codeRR.Server.Api.Core.Messaging;
@@ -49,22 +51,18 @@ public async Task HandleAsync(IMessageContext context, CloseIncident command)
4951
!string.IsNullOrEmpty(command.NotificationText))
5052
{
5153
var emails = await _feedbackRepository.GetEmailAddressesAsync(command.IncidentId);
52-
var emailMessage = new EmailMessage(emails)
54+
if (emails.Any())
5355
{
54-
Subject = command.NotificationTitle,
55-
TextBody = command.NotificationText
56-
};
57-
var sendMessage = new SendEmail(emailMessage);
58-
await context.SendAsync(sendMessage);
56+
var emailMessage = new EmailMessage(emails)
57+
{
58+
Subject = command.NotificationTitle,
59+
TextBody = command.NotificationText
60+
};
61+
var sendMessage = new SendEmail(emailMessage);
62+
await context.SendAsync(sendMessage);
63+
}
5964
}
6065

61-
//var reports = _reportsRepository.GetAll(incident.Reports.Select(x => x.ReportId).ToArray());
62-
//foreach (var report in reports)
63-
//{
64-
// report.Solve(command.Solution);
65-
// _reportsRepository.Update(report);
66-
//}
67-
6866
await _repository.UpdateAsync(incident);
6967
}
7068
}

src/Server/Coderr.Server.App/Modules/Messaging/Commands/SendEmailHandler.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Coderr.Server.PluginApi.Config;
1111
using DotNetCqs;
1212
using Griffin.Container;
13+
using Markdig;
1314

1415
namespace codeRR.Server.App.Modules.Messaging.Commands
1516
{
@@ -41,7 +42,8 @@ public async Task HandleAsync(IMessageContext context, SendEmail command)
4142
var address = new MailAddress(command.EmailMessage.ReplyTo.Address,command.EmailMessage.ReplyTo.Name);
4243
email.ReplyToList.Add(address);
4344
}
44-
45+
46+
var markdownHtml = Markdown.ToHtml(command.EmailMessage.TextBody ?? "");
4547

4648
foreach (var recipient in command.EmailMessage.Recipients)
4749
{
@@ -54,14 +56,17 @@ public async Task HandleAsync(IMessageContext context, SendEmail command)
5456
else
5557
email.To.Add(new MailAddress(recipient.Address, recipient.Name));
5658
}
57-
if (string.IsNullOrEmpty(command.EmailMessage.HtmlBody))
59+
if (string.IsNullOrEmpty(command.EmailMessage.HtmlBody) && markdownHtml == command.EmailMessage.TextBody)
5860
{
5961
email.Body = command.EmailMessage.TextBody;
6062
email.IsBodyHtml = false;
6163
await client.SendMailAsync(email);
6264
return;
6365
}
6466

67+
if (string.IsNullOrEmpty(command.EmailMessage.HtmlBody))
68+
command.EmailMessage.HtmlBody = markdownHtml;
69+
6570
var av = AlternateView.CreateAlternateViewFromString(command.EmailMessage.HtmlBody, null,
6671
MediaTypeNames.Text.Html);
6772
if (!string.IsNullOrEmpty(command.EmailMessage.TextBody))

src/Server/Coderr.Server.App/Modules/Messaging/Templating/TemplateParser.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using codeRR.Server.App.Modules.Messaging.Templating.Formatting;
55
using ColorCode;
66
using Griffin.Container;
7-
using MarkdownSharp;
87

98
namespace codeRR.Server.App.Modules.Messaging.Templating
109
{
@@ -78,8 +77,7 @@ private static string ColorizeCode(string html)
7877

7978
private static string Markdown(string template)
8079
{
81-
var md = new Markdown(new MarkdownOptions {AutoHyperlink = true, AutoNewLines = true});
82-
return md.Transform(template);
80+
return Markdig.Markdown.ToHtml(template);
8381
}
8482
}
8583
}

src/Server/Coderr.Server.App/codeRR.Server.App.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<PackageReference Include="Griffin.Container" Version="1.1.9" />
1212
<PackageReference Include="Griffin.Framework" Version="2.0.0-alpha01" />
1313
<PackageReference Include="log4net" Version="2.0.8" />
14-
<PackageReference Include="MarkdownSharp" Version="1.13.0.0" />
14+
<PackageReference Include="Markdig" Version="0.14.9" />
1515
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
1616
<PackageReference Include="UAParser" Version="3.0.0" />
1717
</ItemGroup>

0 commit comments

Comments
 (0)