2024-05-04 02:53:36 +03:30
|
|
|
@using Front.Services
|
|
|
|
@using Shared.DTOs
|
|
|
|
@inject HttpClientController hc;
|
|
|
|
<div class="row">
|
|
|
|
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
|
|
|
|
<Icon Name="@alertIconName" class="me-2"></Icon>
|
|
|
|
@alertMessage
|
|
|
|
</Alert>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div dir="ltr" class="chat">
|
2024-05-03 18:18:38 +03:30
|
|
|
<div class="messages" id="chat">
|
2024-05-04 02:53:36 +03:30
|
|
|
|
|
|
|
@for (int i = 0; i < subTickets?.Count; i++)
|
|
|
|
{
|
|
|
|
if (i == 0 || subTickets[i - 1].Date != @subTickets[i].Date)
|
|
|
|
{
|
|
|
|
<div class="time"> @subTickets[i].Date </div>
|
|
|
|
}
|
|
|
|
|
|
|
|
string type = subTickets[i].Type == SideType.Customer ? "parker" : "stark";
|
2024-05-03 18:18:38 +03:30
|
|
|
|
2024-05-04 02:53:36 +03:30
|
|
|
<div class="message @type">
|
|
|
|
@subTickets[i].Text
|
2024-05-03 18:18:38 +03:30
|
|
|
</div>
|
2024-05-04 02:53:36 +03:30
|
|
|
}
|
|
|
|
|
2024-05-03 18:18:38 +03:30
|
|
|
|
|
|
|
</div>
|
2024-05-04 02:53:36 +03:30
|
|
|
@if (Ticket.Status == StatusTicket.Awaitingreview || Ticket.Status == StatusTicket.Read_Checking
|
|
|
|
|| Ticket.Status == StatusTicket.hasbeenanswered)
|
|
|
|
{
|
|
|
|
<div class="input">
|
|
|
|
<input placeholder="Type your message here!" type="text">
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
2024-05-03 18:18:38 +03:30
|
|
|
</div>
|
|
|
|
|
2024-05-04 02:53:36 +03:30
|
|
|
@code{
|
|
|
|
// alert
|
|
|
|
AlertColor alertColor = AlertColor.Primary;
|
|
|
|
IconName alertIconName = IconName.CheckCircleFill;
|
|
|
|
bool Hidealert = true;
|
|
|
|
string alertMessage = "";
|
|
|
|
|
|
|
|
[Parameter]
|
|
|
|
public TicketDTO Ticket { get; set; }
|
|
|
|
|
|
|
|
public List<SubTicketDTO>? subTickets { get; set; } = new List<SubTicketDTO>();
|
|
|
|
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
|
|
{
|
|
|
|
var rsp = await hc.Get($"Ticket/GetSubTicket/{Ticket.TicketID}");
|
|
|
|
if (rsp.IsSuccessStatusCode)
|
|
|
|
{
|
|
|
|
var res = await rsp.Content.ReadFromJsonAsync<ICollection<SubTicketDTO>>();
|
|
|
|
subTickets = res?.ToList();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
|
|
|
|
}
|
|
|
|
await base.OnParametersSetAsync();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@functions {
|
|
|
|
private void ShowSuccessAlert(string msg)
|
|
|
|
{
|
|
|
|
Hidealert = false;
|
|
|
|
alertColor = AlertColor.Success;
|
|
|
|
alertIconName = IconName.CheckCircleFill;
|
|
|
|
alertMessage = msg;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void ShowDangerAlert(string msg)
|
|
|
|
{
|
|
|
|
Hidealert = false;
|
|
|
|
alertColor = AlertColor.Danger;
|
|
|
|
alertIconName = IconName.ExclamationTriangleFill;
|
|
|
|
alertMessage = msg;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|