@using AyCode.Core @using AyCode.Core.Enums @using AyCode.Core.Helpers @using TIAM.Entities.Products @using TIAM.Entities.ServiceProviders @using TIAM.Entities.Transfers @using TIAM.Entities.Drivers @using TIAM.Entities.Users @using TIAM.Models.Dtos.Users @using TIAMSharedUI.Shared.Components.BaseComponents @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Utility @using AyCode.Services.Loggers @using TIAM.Core.Loggers @using TIAM.Entities.Addresses @using TIAMSharedUI.Shared.Components.Grids @using TIAMSharedUI.Pages.Components.EditComponents @using TIAMWebApp.Shared.Application.Services @using AyCode.Interfaces.Addresses @using TIAM.Entities.Emails @using AyCode.Blazor.Components.Services @using AyCode.Core.Extensions @using TIAM.Services @inherits UserBasePageComponent @inject IEnumerable LogWriters @inject AdminSignalRClient AdminSignalRClient; @{ var isOutgoing = ((EmailMessage)context.DataItem).SenderId == myUserId; if (isOutgoing) { } else { } } | @{ var contextType = ((EmailMessage)context.DataItem).ContextType; switch (contextType) { case MessageContextType.Transfer: { break; } case MessageContextType.Company: { break; } case MessageContextType.Product: { break; } case MessageContextType.Private: { break; } case MessageContextType.Unset: { break; } } } @{ var created = ((EmailMessage)context.DataItem).Created; if (IsMessageTextVisible) { @created.ToString("g") } else {
@created.ToString("d").Replace(" ", string.Empty)
@created.ToString("t").Replace(" ", string.Empty)
} }
@{ var subjectString = ((EmailMessage)context.DataItem).Subject;

@subjectString

if (!IsMessageTextVisible) { var textString = System.Text.RegularExpressions.Regex.Replace(((EmailMessage)context.DataItem).Text!, "<(.|\n)*?>", string.Empty); if (textString.Length > 80) textString = textString[..80] + "...";
@textString
} }
@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).ContinueWith(x => _messageGrid.UpdateDataItemAsync(emailMessage).Forget()); } }
@code { [Parameter] public Guid? ContextId { get; set; } //[Parameter] public IEmailMessageRelation ParentData { get; set; } = null!; [Parameter] public bool IsMessageTextVisible { get; set; } = true; [Parameter] public bool IsSenderEmailVisible { get; set; } = true; [Parameter] public int GetAllMessageTag { get; set; } = SignalRTags.GetMessagesByContextId; [Parameter] public bool ShowFilterRow { get; set; } = false; private MessageGrid _messageGrid = null!; private LoggerClient _logger = null!; private Guid? myUserId; protected override void OnInitialized() { _logger = new LoggerClient(LogWriters.ToArray()); myUserId = _sessionService.User.UserId; } 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;"; } }