diff --git a/Back/Controllers/TicketController.cs b/Back/Controllers/TicketController.cs index d7b75b0..fc0494a 100644 --- a/Back/Controllers/TicketController.cs +++ b/Back/Controllers/TicketController.cs @@ -99,10 +99,14 @@ namespace Back.Controllers var Ticket = await _servTicket.GetTicketorgbyTicketID(user.RolUsers.First().CompanyID,TicketID); if (Ticket == null) return NotFound(new List() { "تیکت یافت نشد" }); - if (!string.IsNullOrEmpty(Ticket.EndDate)) return BadRequest("این تیکت قبلا بسته شده"); - - Ticket.Status = StatusTicket.optout; - return Ok(await _servTicket.UpdateTicket(Ticket)); + // if (!string.IsNullOrEmpty(Ticket.EndDate)) return BadRequest("این تیکت قبلا بسته شده"); + if (Ticket.Status == StatusTicket.Awaitingreview || Ticket.Status == StatusTicket.Read_Checking + || Ticket.Status == StatusTicket.hasbeenanswered) + { + Ticket.Status = StatusTicket.optout; + return Ok(await _servTicket.UpdateTicket(Ticket)); + } + return Ok(); } [HttpPost("NewTicketNoAuthentication")] [AllowAnonymous] diff --git a/Back/Services/servTicket.cs b/Back/Services/servTicket.cs index a159ab4..a048254 100644 --- a/Back/Services/servTicket.cs +++ b/Back/Services/servTicket.cs @@ -65,7 +65,7 @@ namespace Back.Services #endregion //----------------------- - return await invok.OrderByDescending(o => o.ID).Select(s => new SubTicketDTO() + return await invok.OrderBy(o => o.ID).Select(s => new SubTicketDTO() { Date = s.Date.ShamciToFormatShamci(), Text = s.Text, diff --git a/Shared/Enums/StatusTicket.cs b/Shared/Enums/StatusTicket.cs index 44b78e2..c37df29 100644 --- a/Shared/Enums/StatusTicket.cs +++ b/Shared/Enums/StatusTicket.cs @@ -5,7 +5,7 @@ namespace Shared.DTOs public enum StatusTicket { - [Display(Name = "فرد ناشناس")] + [Display(Name = "فرد ناشناس")]// unknownPerson, [Display(Name = "در انتظار بررسی")] Awaitingreview, @@ -13,9 +13,9 @@ namespace Shared.DTOs Read_Checking, [Display(Name = "پاسخ داده شده")] hasbeenanswered, - [Display(Name = "پاِیان")] + [Display(Name = "پاِیان")]// End, - [Display(Name = "انصراف")] + [Display(Name = "انصراف")]// optout, } } diff --git a/TaxPayerFull/Layout/LTicket.razor b/TaxPayerFull/Layout/LTicket.razor index 2fdcbee..4cab763 100644 --- a/TaxPayerFull/Layout/LTicket.razor +++ b/TaxPayerFull/Layout/LTicket.razor @@ -1,18 +1,25 @@ -@using Shared.DTOs - +@using Front.Services +@using Shared.DTOs +@inject HttpClientController hc; - + @Ticket.MsgStatus + - + @if (Ticket.Status == StatusTicket.Awaitingreview || Ticket.Status == StatusTicket.Read_Checking + || Ticket.Status == StatusTicket.hasbeenanswered) + { + + } +
  • -
    +
    @@ -47,6 +54,8 @@ @code { [Parameter] public TicketDTO Ticket { get; set; } + [Parameter] + public EventCallback OnMultipleOfThree { get; set; } public BadgeColor badgeColor = BadgeColor.Light; protected override async Task OnParametersSetAsync() @@ -80,7 +89,19 @@ { await modal.ShowAsync(); } + private async Task OnCloseTicket() + { + var rsp = await hc.Put($"Ticket/CancelTicket/{Ticket.TicketID}"); + if (rsp.IsSuccessStatusCode) + { + // await Search(1); + await modal.HideAsync(); + await OnMultipleOfThree.InvokeAsync(1); + } + + + } private async Task OnHideModalClick() { await modal.HideAsync(); diff --git a/TaxPayerFull/Layout/Lchat.razor b/TaxPayerFull/Layout/Lchat.razor index 8abef59..b3c373e 100644 --- a/TaxPayerFull/Layout/Lchat.razor +++ b/TaxPayerFull/Layout/Lchat.razor @@ -1,32 +1,85 @@ -
    - +@using Front.Services +@using Shared.DTOs +@inject HttpClientController hc; +
    + + +
    +
    -
    - Today at 11:41 -
    -
    - Hey, man! What's up, Mr Stark? 👋 -
    + + @for (int i = 0; i < subTickets?.Count; i++) + { + if (i == 0 || subTickets[i - 1].Date != @subTickets[i].Date) + { +
    @subTickets[i].Date
    + } + + string type = subTickets[i].Type == SideType.Customer ? "parker" : "stark"; -
    - Kid, where'd you come from? +
    + @subTickets[i].Text
    - + } + -
    - Field trip! 🤣 -
    -
    - حل شد 🤣 -
    - -
    - مشکل ما چی شد -
    - -
    -
    -
    + @if (Ticket.Status == StatusTicket.Awaitingreview || Ticket.Status == StatusTicket.Read_Checking + || Ticket.Status == StatusTicket.hasbeenanswered) + { +
    + +
    + } +
    +@code{ + // alert + AlertColor alertColor = AlertColor.Primary; + IconName alertIconName = IconName.CheckCircleFill; + bool Hidealert = true; + string alertMessage = ""; + + [Parameter] + public TicketDTO Ticket { get; set; } + + public List? subTickets { get; set; } = new List(); + + protected override async Task OnParametersSetAsync() + { + var rsp = await hc.Get($"Ticket/GetSubTicket/{Ticket.TicketID}"); + if (rsp.IsSuccessStatusCode) + { + var res = await rsp.Content.ReadFromJsonAsync>(); + 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; + } + + +} \ No newline at end of file diff --git a/TaxPayerFull/Pages/UserPanel/Ticket.razor b/TaxPayerFull/Pages/UserPanel/Ticket.razor index 471790e..30ab36f 100644 --- a/TaxPayerFull/Pages/UserPanel/Ticket.razor +++ b/TaxPayerFull/Pages/UserPanel/Ticket.razor @@ -77,7 +77,8 @@
      @for (int i = 0; i < request?.list.Count; i++) { - + + }