diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs
index fd55e754..17d48779 100644
--- a/TIAM.Services/SignalRTags.cs
+++ b/TIAM.Services/SignalRTags.cs
@@ -57,6 +57,9 @@ public class SignalRTags : AcSignalRTags
public const int GetMessagesByContextId = 60;
public const int GetAllMessages = 61;
+ public const int CreateMessage = 63;
+ public const int UpdateMessage = 64;
+ public const int DeleteMessage = 65;
public const int GetProductById = 70;
public const int GetProductsByOwnerId = 71; //for now until we can send multiple parameters
diff --git a/TIAMSharedUI/Pages/User/ServiceProvider.razor b/TIAMSharedUI/Pages/User/ServiceProvider.razor
index 2cdbce58..dd2daf3d 100644
--- a/TIAMSharedUI/Pages/User/ServiceProvider.razor
+++ b/TIAMSharedUI/Pages/User/ServiceProvider.razor
@@ -27,81 +27,78 @@
+ AutoCollapseDetailRow="false"
+ KeyboardNavigationEnabled="true"
+ CustomizeElement="Grid_CustomizeElement"
+ CustomizeEditModel="Grid_CustomizeEditModel"
+ EditMode="GridEditMode.EditForm"
+ ColumnResizeMode="GridColumnResizeMode.NextColumn"
+ ShowFilterRow="true"
+ KeyFieldName="Id">
-
-
-
-
+
+
+
+
-
-
-
-
- @*
+
+
+
+
+ @*
*@
-
- @*
+
+ @*
*@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @{
- var transfer2 = (Company)EditFormContext.EditModel;
- }
-
-
- @EditFormContext.GetEditor("Name")
-
-
- @EditFormContext.GetEditor("CommissionPercent")
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @{
+ var transfer2 = (Company)EditFormContext.EditModel;
+ }
+
+
+ @EditFormContext.GetEditor("Name")
+
+
+ @EditFormContext.GetEditor("CommissionPercent")
+
+
+
+
@*
*@
- @*
+ @*
*@
- @*
+ @*
*@
-
-
@code {
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor
index 37294fe6..04800547 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor
@@ -107,35 +107,36 @@
KeyFieldName="Id">
-
-
+
+
-
- @{
- var idKeyField = ((Transfer)context.DataItem).Id;
- var editUri = $"mytransfers/{idKeyField:N}";
-
- @context.Value
- }
-
+
+ @{
+ var idKeyField = ((Transfer)context.DataItem).Id;
+ var editUri = $"mytransfers/{idKeyField:N}";
+
+ @context.Value
+
+ }
+
-
-
-
-
-
-
+
+
+
+
+
+
@{
var keyField = context.Value;
var keyItem = (Transfer)context.DataItem;
string buttonText = "Contact";
-
+
}
-
+
@{
@@ -148,17 +149,14 @@
-
-
-
-
+
+
+
-
-
@{
@@ -329,28 +327,30 @@
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
{
- if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 5)
- {
- e.CssClass = "bg-important";
- }
- else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 5 && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") < 35)
- {
- e.CssClass = "bg-attention";
- }
- else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 35)
- {
- e.CssClass = "bg-finished";
- }
- else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 35)
- {
- e.CssClass = "bg-cancel";
- }
-
if (e.ElementType == GridElementType.HeaderCell)
{
e.Style = "background-color: rgba(0, 0, 0, 0.08)";
e.CssClass = "header-bold";
}
+
+ if (e.ElementType != GridElementType.DataRow) return;
+
+ var transferStatusType = (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType");
+ switch (transferStatusType)
+ {
+ case 5:
+ e.CssClass = "bg-important";
+ break;
+ case > 5 and < 35:
+ e.CssClass = "bg-attention";
+ break;
+ case 35:
+ e.CssClass = "bg-finished";
+ break;
+ case > 35:
+ e.CssClass = "bg-cancel";
+ break;
+ }
}
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/MessageDetailGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/MessageDetailGridComponent.razor
index 64932a3d..0d54601b 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/MessageDetailGridComponent.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/MessageDetailGridComponent.razor
@@ -1,4 +1,5 @@
@using AyCode.Core
+@using AyCode.Core.Helpers
@using TIAM.Entities.Products
@using TIAM.Entities.ServiceProviders
@using TIAM.Entities.Transfers
@@ -14,9 +15,7 @@
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Interfaces.Addresses
-@inject IServiceProviderDataService serviceProviderDataService
-@inject IUserDataService userDataService
-@inject ITransferDataService transferDataService
+@using TIAM.Entities.Emails
@inject IEnumerable LogWriters
@inject AdminSignalRClient AdminSignalRClient;
@@ -24,44 +23,60 @@
-
-
+
+
+
-
- @{
- var keyField = (string)messageContext.Value;
- }
- @((MarkupString)keyField)
+
+ @System.Text.RegularExpressions.Regex.Replace((displayTextContext.Value as string)!, "<(.|\n)*?>", string.Empty)
+
+
+ @{
+ var emailMessage = ((EmailMessage)context.DataItem);
+ @((MarkupString)(emailMessage.Text ?? string.Empty))
+ if (!emailMessage.IsReaded)
+ {
+ emailMessage.IsReaded = true;
+ _messageGrid.UpdateDataItemAsync(emailMessage).Forget();
+
+ InvokeAsync(StateHasChanged).Forget();
+ }
+ }
+
@code {
[Parameter] public bool KeyboardNavigationEnabled { get; set; }
- [Parameter] public Guid? ContextId { get; set; }
+ [Parameter] public Guid ContextId { get; set; }
+ //[Parameter] public IEmailMessageRelation ParentData { get; set; } = null!;
[Parameter] public bool IsSubjectVisible { get; set; } = true;
[Parameter] public bool IsSenderEmailVisible { get; set; } = true;
- private Guid? _contextId = null!;
private MessageGrid _messageGrid = null!;
private LoggerClient _logger = null!;
protected override void OnInitialized()
{
_logger = new LoggerClient(LogWriters.ToArray());
-
- //DataSource = new List();
-
}
+ private void CustomizeElement(GridCustomizeElementEventArgs e)
+ {
+ if (e.ElementType != GridElementType.DataRow) return;
+
+ e.Style = (bool)e.Grid.GetRowValue(e.VisibleIndex, "IsReaded") == false ? "font-weight: bold;" : "font-weight: normal;";
+ }
}
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/MessageGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/MessageGridComponent.razor
index 4bdc72b1..7ba77bd3 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/MessageGridComponent.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/MessageGridComponent.razor
@@ -13,6 +13,7 @@
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Interfaces.Addresses
+@using TIAM.Entities.Emails
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@inject ITransferDataService transferDataService
@@ -21,8 +22,7 @@
-
+
+ @{
+ @(((EmailMessage)context.DataItem).Text)
+ }
+
@code {
- [Parameter] public bool KeyboardNavigationEnabled { get; set; }
+ [Parameter] public bool KeyboardNavigationEnabled { get; set; }
-
- private Guid? _contextId = null!;
private MessageGrid _messageGrid = null!;
private LoggerClient _logger = null!;
@@ -59,7 +61,6 @@
_logger = new LoggerClient(LogWriters.ToArray());
//DataSource = new List();
-
}
}
\ No newline at end of file
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor
index 9fe998f6..bb22d7ae 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/ProductDetailGridComponent.razor
@@ -15,6 +15,7 @@
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Interfaces.Addresses
+@using AyCode.Core
@inject IStringLocalizer Localizer
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@@ -39,8 +40,9 @@
ColumnResizeMode="GridColumnResizeMode.NextColumn"
ShowFilterRow="true">
-
-
+
+
+
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor
index 0ee05f9d..cec6a011 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor
@@ -30,8 +30,8 @@
ColumnResizeMode="GridColumnResizeMode.NextColumn"
ShowFilterRow="false">
-
-
+
+
@@ -39,14 +39,10 @@
-
-
-
-
diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ServiceProviderGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/ServiceProviderGridComponent.razor
index d0c5da74..96cb6070 100644
--- a/TIAMSharedUI/Pages/User/SysAdmins/ServiceProviderGridComponent.razor
+++ b/TIAMSharedUI/Pages/User/SysAdmins/ServiceProviderGridComponent.razor
@@ -18,7 +18,7 @@
-
-
+
-
-
-
@{
@@ -69,7 +65,7 @@
@code {
[Parameter] public bool KeyboardNavigationEnabled { get; set; }
[Parameter] public UserModelDtoDetail UserModelDtoDetail { get; set; }
- [Parameter] public Guid? ContextId { get; set; }
+ [Parameter] public Guid ContextId { get; set; }
List _detailGridData;
diff --git a/TIAMSharedUI/Shared/Components/Grids/MessageGrid.cs b/TIAMSharedUI/Shared/Components/Grids/MessageGrid.cs
index 0163ff33..5df217c4 100644
--- a/TIAMSharedUI/Shared/Components/Grids/MessageGrid.cs
+++ b/TIAMSharedUI/Shared/Components/Grids/MessageGrid.cs
@@ -11,8 +11,8 @@ public class MessageGrid : TiamGrid
public MessageGrid() : base()
{
GetAllMessageTag = SignalRTags.GetMessagesByContextId;
- //AddMessageTag = SignalRTags.AddAddress;
- //UpdateMessageTag = SignalRTags.UpdateAddress;
+ AddMessageTag = SignalRTags.CreateMessage;
+ UpdateMessageTag = SignalRTags.UpdateMessage;
//RemoveMessageTag = SignalRTags.RemoveAddress; - nem törlünk címet - J.
}
diff --git a/TIAMWebApp/Server/Controllers/MessageAPIController.cs b/TIAMWebApp/Server/Controllers/MessageAPIController.cs
index b80cf82f..bea3c9a2 100644
--- a/TIAMWebApp/Server/Controllers/MessageAPIController.cs
+++ b/TIAMWebApp/Server/Controllers/MessageAPIController.cs
@@ -12,6 +12,7 @@ using AyCode.Services.SignalRs;
using TIAM.Services;
using AyCode.Core.Loggers;
using AyCode.Core.Extensions;
+using TIAM.Entities.Products;
namespace TIAMWebApp.Server.Controllers
{
@@ -20,15 +21,13 @@ namespace TIAMWebApp.Server.Controllers
[Route("api/v1/[controller]")]
public class MessageAPIController : ControllerBase
{
- private AdminDal _adminDal;
+ private readonly AdminDal _adminDal;
private readonly TIAM.Core.Loggers.ILogger _logger;
private readonly IConfiguration _configuration;
private readonly IWebHostEnvironment _webHostEnvironment;
- private IMessageSenderService _messageSenderService;
-
+ private readonly IMessageSenderService _messageSenderService;
-
public MessageAPIController(IEnumerable logWriters, IConfiguration configuration, IWebHostEnvironment webHostEnvironment, IMessageSenderService messageSenderService, AdminDal adminDal)
{
_adminDal = adminDal;
@@ -42,38 +41,33 @@ namespace TIAMWebApp.Server.Controllers
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.SendEmailRouteName)]
- public async Task SendEmail([FromBody] JsonElement SerializedMessageSenderModel)
+ public async Task SendEmail([FromBody] JsonElement serializedMessageSenderModel)
{
- Console.WriteLine("SendEmail called!");
- var message = JObject.Parse(SerializedMessageSenderModel.GetRawText()).ToObject>();
+ _logger.Debug($"SendEmail called!");
+ var message = JObject.Parse(serializedMessageSenderModel.GetRawText()).ToObject>();
- if (message != null)
+ if (message == null) return BadRequest("Invalid request");
+
+ if (message.MessageType == MessageTypesEnum.email)
{
+ _logger.Debug($"EmailMessage!!!");
- if (message.MessageType == MessageTypesEnum.email)
- {
+ var messageElement = message.Message;
+ _logger.Debug(message.Message.Subject);
- Console.WriteLine($"EmailMessage!!!");
- var messageElement = message.Message;
- Console.WriteLine(message.Message);
- var result = await _messageSenderService.SendMessageAsync(messageElement, (int)message.MessageType);
- //_adminDal.AddEmailMessageAsync((TIAM.Entities.Emails.EmailMessage)SerializedMessageSenderModel.Message);
- messageElement.EmailAddress = "noreply@anataworld.com";
- await _adminDal.AddEmailMessageAsync(messageElement);
- Console.WriteLine("SendEmail result: " + result);
- return Ok(result);
-
- }
- else
- {
- return BadRequest("Invalid request");
- // Access BaseClass properties
- }
+ var result = await _messageSenderService.SendMessageAsync(messageElement, (int)message.MessageType);
+ //_adminDal.AddEmailMessageAsync((TIAM.Entities.Emails.EmailMessage)SerializedMessageSenderModel.Message);
+ messageElement.EmailAddress = "noreply@anataworld.com";
+ await _adminDal.AddEmailMessageAsync(messageElement);
+ _logger.Debug($"SendEmail result: {result}");
+ return Ok(result);
+ }
+ else
+ {
+ return BadRequest("Invalid request");
}
- return BadRequest("Invalid request");
-
}
[AllowAnonymous]
@@ -84,10 +78,8 @@ namespace TIAMWebApp.Server.Controllers
public async Task GetMessagesByContextId(Guid contextId)
{
_logger.Info($@"GetMessagessByContextId called with ownerId: {contextId}");
-
var messages = await _adminDal.GetEmailMessagesByContextIdAsync(contextId);
- //put Company id and name into a dictionary
return messages.ToJson();
}
@@ -101,12 +93,19 @@ namespace TIAMWebApp.Server.Controllers
{
_logger.Info($@"GetMessages called");
-
var messages = await _adminDal.GetAllEmailMessagesAsync();
- //put Company id and name into a dictionary
return messages.ToJson();
}
+ [SignalR(SignalRTags.UpdateMessage)]
+ public async Task UpdateMessages([FromBody] EmailMessage message)
+ {
+ _logger.Info($@"UpdateMessages called");
+
+ if (await _adminDal.UpdateEmailMessageAsync(message)) return message;
+
+ return null;
+ }
}
}
\ No newline at end of file
diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs
index 98ee23aa..7ec7faac 100644
--- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs
+++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs
@@ -357,27 +357,12 @@ namespace TIAMWebApp.Server.Controllers
{
_logger.Info($@"GetProductsByServiceProviderId called with serviceProviderId: {serviceProviderId}");
- if (serviceProviderId != Guid.Empty)
- {
- var products = adminDal.GetProductsJsonByServiceProviderId(serviceProviderId);
- if (products != null)
- {
- return await Task.FromResult(products);
- }
- else
- {
- //some Iactionresult that explains that there were errors
- return await Task.FromResult(string.Empty);
- }
- }
- else
- {
- //some Iactionresult that explains that there were errors
- return await Task.FromResult(string.Empty);
- }
-
+ if (serviceProviderId == Guid.Empty) return await Task.FromResult(string.Empty);
+ var products = adminDal.GetProductsJsonByServiceProviderId(serviceProviderId);
+ return await Task.FromResult(products);
}
+
[AllowAnonymous]
[HttpPost]
[Route(APIUrls.GetProductsByServiceProviderIdRouteName)]
@@ -391,13 +376,9 @@ namespace TIAMWebApp.Server.Controllers
{
return await Task.FromResult("Invalid request");
}
- else
- {
- var result = await GetProductsByOwnerId(serviceProviderId);
- return result;
-
- }
+ var result = await GetProductsByOwnerId(serviceProviderId);
+ return result;
}
[AllowAnonymous]
@@ -417,7 +398,6 @@ namespace TIAMWebApp.Server.Controllers
{
return null;
}
-
}
}
}
\ No newline at end of file