fix plus logger to admin
This commit is contained in:
parent
3140c1bed6
commit
fcf48f1cce
|
|
@ -50,7 +50,6 @@ namespace TIAM.Services.Server
|
||||||
if (!message.SenderId.HasValue) return HttpStatusCode.BadRequest;
|
if (!message.SenderId.HasValue) return HttpStatusCode.BadRequest;
|
||||||
|
|
||||||
var senderUser = adminDal.GetUserById(message.SenderId.Value);
|
var senderUser = adminDal.GetUserById(message.SenderId.Value);
|
||||||
//var receiverUser = adminDal.Context.Users.FirstOrDefault(x => x.Id == message.ReceiverId);
|
|
||||||
|
|
||||||
if (senderUser != null) return HttpStatusCode.BadRequest;
|
if (senderUser != null) return HttpStatusCode.BadRequest;
|
||||||
|
|
||||||
|
|
@ -68,6 +67,10 @@ namespace TIAM.Services.Server
|
||||||
from = new EmailAddress(message.EmailAddress, senderUser.Profile.Name);
|
from = new EmailAddress(message.EmailAddress, senderUser.Profile.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Response[] responses = [];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
List<Task<Response>> sendTasks = new List<Task<Response>>();
|
List<Task<Response>> sendTasks = new List<Task<Response>>();
|
||||||
foreach (var messageRecipient in message.Recipients)
|
foreach (var messageRecipient in message.Recipients)
|
||||||
{
|
{
|
||||||
|
|
@ -76,17 +79,25 @@ namespace TIAM.Services.Server
|
||||||
Console.WriteLine($"Message recipient: {messageRecipient.EmailAddress}");
|
Console.WriteLine($"Message recipient: {messageRecipient.EmailAddress}");
|
||||||
var plainTextContent = message.Text;
|
var plainTextContent = message.Text;
|
||||||
|
|
||||||
|
//MailHelper.CreateSingleEmailToMultipleRecipients()
|
||||||
var msg = MailHelper.CreateSingleEmail(from, to, message.Subject, plainTextContent, plainTextContent);
|
var msg = MailHelper.CreateSingleEmail(from, to, message.Subject, plainTextContent, plainTextContent);
|
||||||
|
//msg.AddBccs()
|
||||||
sendTasks.Add(client.SendEmailAsync(msg));
|
sendTasks.Add(client.SendEmailAsync(msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
var responses = await Task.WhenAll(sendTasks).ConfigureAwait(false);
|
responses = await Task.WhenAll(sendTasks).ConfigureAwait(false);
|
||||||
|
|
||||||
foreach (var response in responses)
|
foreach (var response in responses)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"{response.StatusCode}, {response.Body.ReadAsStringAsync()}");
|
Console.WriteLine($"{response.StatusCode}, {response.Body.ReadAsStringAsync()}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adminDal.AddEmailMessageAsync(message).Forget();
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
if (responses.Any(response => !response.IsSuccessStatusCode))
|
if (responses.Any(response => !response.IsSuccessStatusCode))
|
||||||
{
|
{
|
||||||
Console.WriteLine("Some emails failed to send");
|
Console.WriteLine("Some emails failed to send");
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
Closing="EulaPopupClosing"
|
Closing="EulaPopupClosing"
|
||||||
Closed="EulaPopupClosed">
|
Closed="EulaPopupClosed">
|
||||||
<BodyContentTemplate>
|
<BodyContentTemplate>
|
||||||
<InputWizard Data=@MessageWizardModel
|
<InputWizard Data=@_messageWizardModel
|
||||||
OnSubmit="SubmitForm"
|
OnSubmit="SubmitForm"
|
||||||
IgnoreReflection=@IgnoreList
|
IgnoreReflection=@IgnoreList
|
||||||
TitleResourceString="NewMessage"
|
TitleResourceString="NewMessage"
|
||||||
|
|
@ -214,8 +214,8 @@
|
||||||
"SenderEmailAddress",
|
"SenderEmailAddress",
|
||||||
"SenderFullName",
|
"SenderFullName",
|
||||||
"SenderId",
|
"SenderId",
|
||||||
"ContextId"
|
"ContextId",
|
||||||
};
|
];
|
||||||
|
|
||||||
public List<TransferStatusModel> Statuses { get; set; } =
|
public List<TransferStatusModel> Statuses { get; set; } =
|
||||||
[
|
[
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||||
];
|
];
|
||||||
|
|
||||||
public MessageWizardModel MessageWizardModel = new();
|
private MessageWizardModel _messageWizardModel = new();
|
||||||
|
|
||||||
public List<AppointmentModel> AppointmentModels { get; set; }
|
public List<AppointmentModel> AppointmentModels { get; set; }
|
||||||
|
|
||||||
|
|
@ -242,8 +242,9 @@
|
||||||
{
|
{
|
||||||
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
||||||
|
|
||||||
MessageWizardModel.ContextId = item.Id;
|
_messageWizardModel.ContextId = item.Id;
|
||||||
MessageWizardModel.SenderFullName = item.FullName; //Miért nullable a FullName? - J.
|
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
||||||
|
_messageWizardModel.ReceiverFullName = item.FullName;
|
||||||
PopupVisible = true;
|
PopupVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,7 +261,7 @@
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
MessageWizardModel = new MessageWizardModel();
|
_messageWizardModel = new MessageWizardModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
@ -269,7 +270,7 @@
|
||||||
public async Task SubmitForm(object result)
|
public async Task SubmitForm(object result)
|
||||||
{
|
{
|
||||||
var messageModel = result as MessageWizardModel;
|
var messageModel = result as MessageWizardModel;
|
||||||
messageModel.ContextId = MessageWizardModel.ContextId;
|
messageModel.ContextId = _messageWizardModel.ContextId;
|
||||||
//messageModel.SenderId = sessionService.User.UserId;
|
//messageModel.SenderId = sessionService.User.UserId;
|
||||||
|
|
||||||
string FormatEmailContent()
|
string FormatEmailContent()
|
||||||
|
|
@ -452,3 +453,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,32 @@
|
||||||
@inherits LayoutComponentBase
|
@inherits LayoutComponentBase
|
||||||
|
|
||||||
@using TIAMSharedUI.Shared.Users
|
@using TIAMSharedUI.Shared.Users
|
||||||
|
@using AyCode.Core.Extensions
|
||||||
|
@using AyCode.Interfaces.StorageHandlers;
|
||||||
|
@using AyCode.Services.Loggers
|
||||||
|
@using Newtonsoft.Json;
|
||||||
|
@using TIAMSharedUI.Pages
|
||||||
|
@using TIAMSharedUI.Shared.Components
|
||||||
@using TIAMWebApp.Shared.Application.Interfaces
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
@using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||||
|
@using AyCode.Blazor.Components;
|
||||||
@using TIAMWebApp.Shared.Application.Models;
|
@using TIAMWebApp.Shared.Application.Models;
|
||||||
@inject NavigationManager NavigationManager
|
@using TIAMWebApp.Shared.Application.Utility;
|
||||||
|
@using System.IdentityModel.Tokens.Jwt;
|
||||||
|
@using System.Runtime.CompilerServices
|
||||||
|
@using TIAM.Core.Loggers;
|
||||||
|
@using System.Diagnostics
|
||||||
|
@using AyCode.Utils.Extensions
|
||||||
|
@inject NavigationManager NavManager
|
||||||
|
@inject IJSRuntime jsRuntime
|
||||||
|
@inject ISecureStorageHandler SecureStorageHandler
|
||||||
|
@inject ISessionService sessionService
|
||||||
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
@inject IUserDataService userDataService
|
@inject IUserDataService userDataService
|
||||||
|
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
|
<TiamErrorBoundaryComponent OnError="HandleError">
|
||||||
<div class="my-sidebar">
|
<div class="my-sidebar">
|
||||||
|
|
||||||
<AdminNavMenu />
|
<AdminNavMenu />
|
||||||
|
|
@ -17,21 +39,58 @@
|
||||||
@Body
|
@Body
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
|
</TiamErrorBoundaryComponent>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
/*bool isUserLoggedIn;
|
private ILogger _logger;
|
||||||
int userType = 0;
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
public PopupMessageBox PopupMessageBox { get; private set; } = default!;
|
||||||
{
|
|
||||||
var user = await userDataService.IsLoggedInAsync();
|
|
||||||
isUserLoggedIn = user.IsLoggedIn;
|
|
||||||
|
|
||||||
if (!isUserLoggedIn)
|
|
||||||
|
protected override void OnInitialized()
|
||||||
{
|
{
|
||||||
NavigationManager.NavigateTo("/login");
|
_logger = new LoggerClient<MainLayout>(LogWriters.ToArray());
|
||||||
|
|
||||||
|
base.OnInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleError(Exception exception)//, [CallerMemberName] string? memberName = null)
|
||||||
|
{
|
||||||
|
exception.GetCategoryAndMemberNameFromStackTraceString(out var memberName, out var categoryName);
|
||||||
|
|
||||||
|
if (memberName.IsNullOrWhiteSpace()) memberName = "..."; //ne "HandleError" memberName-el logoljunk! - J.
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_logger.Error($"An error occurred: {exception.Message}", exception, categoryName, memberName);
|
||||||
|
}
|
||||||
|
catch (Exception loggerException)
|
||||||
|
{
|
||||||
|
jsRuntime.InvokeVoidAsync("console.error", $"{nameof(MainLayout)}->HandleError; Logger error! {loggerException}");
|
||||||
|
|
||||||
|
jsRuntime.InvokeVoidAsync("console.error", $"{nameof(MainLayout)}->{memberName}; An error occurred: {exception}");
|
||||||
|
//jsRuntime.InvokeVoidAsync("console.warn", $"{nameof(MainLayout)}->{memberName}; Error details: {exception.StackTrace}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Log the error to server
|
||||||
|
//LogErrorToServer(exception);
|
||||||
|
|
||||||
|
// Show a notification on UI
|
||||||
|
ShowErrorNotification("An unexpected error occurred. Please try again later.");
|
||||||
|
|
||||||
|
//jsRuntime.InvokeVoidAsync("console.error", $"An error occurred: {exception.Message}");
|
||||||
|
//jsRuntime.InvokeVoidAsync("console.warn", $"Error details: {exception.StackTrace}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// private void LogErrorToServer(Exception exception)
|
||||||
|
// {
|
||||||
|
// //_logger.Error($"An error occurred: {exception.Message}");
|
||||||
|
// }
|
||||||
|
|
||||||
|
private void ShowErrorNotification(string message)
|
||||||
|
{
|
||||||
|
jsRuntime.InvokeVoidAsync("alert", message);
|
||||||
}
|
}
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -173,6 +173,7 @@ app.MapRazorPages();
|
||||||
app.MapControllers();
|
app.MapControllers();
|
||||||
app.MapBlazorHub();
|
app.MapBlazorHub();
|
||||||
app.MapHub<SignalRHub>("/myhub");
|
app.MapHub<SignalRHub>("/myhub");
|
||||||
|
app.MapHub<DevAdminSignalRHub>("/adminhub");
|
||||||
app.MapFallbackToFile("index.html");
|
app.MapFallbackToFile("index.html");
|
||||||
|
|
||||||
app.Run();
|
app.Run();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
using Microsoft.AspNetCore.SignalR;
|
||||||
|
|
||||||
|
namespace TIAMWebApp.Server.Services;
|
||||||
|
public class DevAdminSignalRHub : Hub
|
||||||
|
{
|
||||||
|
public async Task SendMessage(string user, string message)
|
||||||
|
{
|
||||||
|
await Clients.All.SendAsync("ReceiveMessage", user, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task MuteChat(string user)
|
||||||
|
{
|
||||||
|
|
||||||
|
await Clients.All.SendAsync("UserMuted", user);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LoggedInToChat(string user)
|
||||||
|
{
|
||||||
|
|
||||||
|
await Clients.All.SendAsync("UserLoggedInToChat", user);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LoggedOutFromChat(string user)
|
||||||
|
{
|
||||||
|
|
||||||
|
await Clients.All.SendAsync("UserLoggedOutFromChat", user);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Reference in New Issue