fix plus logger to admin
This commit is contained in:
parent
3140c1bed6
commit
fcf48f1cce
|
|
@ -49,8 +49,7 @@ namespace TIAM.Services.Server
|
|||
|
||||
if (!message.SenderId.HasValue) return HttpStatusCode.BadRequest;
|
||||
|
||||
var senderUser = adminDal.GetUserById(message.SenderId.Value);
|
||||
//var receiverUser = adminDal.Context.Users.FirstOrDefault(x => x.Id == message.ReceiverId);
|
||||
var senderUser = adminDal.GetUserById(message.SenderId.Value);
|
||||
|
||||
if (senderUser != null) return HttpStatusCode.BadRequest;
|
||||
|
||||
|
|
@ -68,23 +67,35 @@ namespace TIAM.Services.Server
|
|||
from = new EmailAddress(message.EmailAddress, senderUser.Profile.Name);
|
||||
}
|
||||
|
||||
List<Task<Response>> sendTasks = new List<Task<Response>>();
|
||||
foreach (var messageRecipient in message.Recipients)
|
||||
Response[] responses = [];
|
||||
|
||||
try
|
||||
{
|
||||
var to = new EmailAddress(messageRecipient.EmailAddress, messageRecipient.EmailAddress);
|
||||
List<Task<Response>> sendTasks = new List<Task<Response>>();
|
||||
foreach (var messageRecipient in message.Recipients)
|
||||
{
|
||||
var to = new EmailAddress(messageRecipient.EmailAddress, messageRecipient.EmailAddress);
|
||||
|
||||
Console.WriteLine($"Message recipient: {messageRecipient.EmailAddress}");
|
||||
var plainTextContent = message.Text;
|
||||
Console.WriteLine($"Message recipient: {messageRecipient.EmailAddress}");
|
||||
var plainTextContent = message.Text;
|
||||
|
||||
var msg = MailHelper.CreateSingleEmail(from, to, message.Subject, plainTextContent, plainTextContent);
|
||||
sendTasks.Add(client.SendEmailAsync(msg));
|
||||
//MailHelper.CreateSingleEmailToMultipleRecipients()
|
||||
var msg = MailHelper.CreateSingleEmail(from, to, message.Subject, plainTextContent, plainTextContent);
|
||||
//msg.AddBccs()
|
||||
sendTasks.Add(client.SendEmailAsync(msg));
|
||||
}
|
||||
|
||||
responses = await Task.WhenAll(sendTasks).ConfigureAwait(false);
|
||||
|
||||
foreach (var response in responses)
|
||||
{
|
||||
Console.WriteLine($"{response.StatusCode}, {response.Body.ReadAsStringAsync()}");
|
||||
}
|
||||
|
||||
adminDal.AddEmailMessageAsync(message).Forget();
|
||||
}
|
||||
|
||||
var responses = await Task.WhenAll(sendTasks).ConfigureAwait(false);
|
||||
|
||||
foreach (var response in responses)
|
||||
{
|
||||
Console.WriteLine($"{response.StatusCode}, {response.Body.ReadAsStringAsync()}");
|
||||
catch(Exception ex)
|
||||
{
|
||||
}
|
||||
|
||||
if (responses.Any(response => !response.IsSuccessStatusCode))
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
Closing="EulaPopupClosing"
|
||||
Closed="EulaPopupClosed">
|
||||
<BodyContentTemplate>
|
||||
<InputWizard Data=@MessageWizardModel
|
||||
<InputWizard Data=@_messageWizardModel
|
||||
OnSubmit="SubmitForm"
|
||||
IgnoreReflection=@IgnoreList
|
||||
TitleResourceString="NewMessage"
|
||||
|
|
@ -214,8 +214,8 @@
|
|||
"SenderEmailAddress",
|
||||
"SenderFullName",
|
||||
"SenderId",
|
||||
"ContextId"
|
||||
};
|
||||
"ContextId",
|
||||
];
|
||||
|
||||
public List<TransferStatusModel> Statuses { get; set; } =
|
||||
[
|
||||
|
|
@ -230,7 +230,7 @@
|
|||
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||
];
|
||||
|
||||
public MessageWizardModel MessageWizardModel = new();
|
||||
private MessageWizardModel _messageWizardModel = new();
|
||||
|
||||
public List<AppointmentModel> AppointmentModels { get; set; }
|
||||
|
||||
|
|
@ -242,8 +242,9 @@
|
|||
{
|
||||
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
||||
|
||||
MessageWizardModel.ContextId = item.Id;
|
||||
MessageWizardModel.SenderFullName = item.FullName; //Miért nullable a FullName? - J.
|
||||
_messageWizardModel.ContextId = item.Id;
|
||||
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
||||
_messageWizardModel.ReceiverFullName = item.FullName;
|
||||
PopupVisible = true;
|
||||
}
|
||||
|
||||
|
|
@ -260,7 +261,7 @@
|
|||
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||
{
|
||||
//myModel = new TransferWizardModel();
|
||||
MessageWizardModel = new MessageWizardModel();
|
||||
_messageWizardModel = new MessageWizardModel();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
|
@ -269,7 +270,7 @@
|
|||
public async Task SubmitForm(object result)
|
||||
{
|
||||
var messageModel = result as MessageWizardModel;
|
||||
messageModel.ContextId = MessageWizardModel.ContextId;
|
||||
messageModel.ContextId = _messageWizardModel.ContextId;
|
||||
//messageModel.SenderId = sessionService.User.UserId;
|
||||
|
||||
string FormatEmailContent()
|
||||
|
|
@ -452,3 +453,7 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,10 +1,32 @@
|
|||
@inherits LayoutComponentBase
|
||||
|
||||
@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.Models.ClientSide;
|
||||
@using AyCode.Blazor.Components;
|
||||
@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
|
||||
|
||||
|
||||
<div class="page">
|
||||
<TiamErrorBoundaryComponent OnError="HandleError">
|
||||
<div class="my-sidebar">
|
||||
|
||||
<AdminNavMenu />
|
||||
|
|
@ -17,21 +39,58 @@
|
|||
@Body
|
||||
</article>
|
||||
</main>
|
||||
</TiamErrorBoundaryComponent>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
|
||||
/*bool isUserLoggedIn;
|
||||
int userType = 0;
|
||||
private ILogger _logger;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
public PopupMessageBox PopupMessageBox { get; private set; } = default!;
|
||||
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
var user = await userDataService.IsLoggedInAsync();
|
||||
isUserLoggedIn = user.IsLoggedIn;
|
||||
_logger = new LoggerClient<MainLayout>(LogWriters.ToArray());
|
||||
|
||||
if (!isUserLoggedIn)
|
||||
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
|
||||
{
|
||||
NavigationManager.NavigateTo("/login");
|
||||
_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.MapBlazorHub();
|
||||
app.MapHub<SignalRHub>("/myhub");
|
||||
app.MapHub<DevAdminSignalRHub>("/adminhub");
|
||||
app.MapFallbackToFile("index.html");
|
||||
|
||||
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