diff --git a/TaxPayerFull/CUSComponent/Notifications.razor b/TaxPayerFull/CUSComponent/Notifications.razor index 97c1414..02ec5bc 100644 --- a/TaxPayerFull/CUSComponent/Notifications.razor +++ b/TaxPayerFull/CUSComponent/Notifications.razor @@ -12,14 +12,18 @@ @code { [Parameter] public List items { get; set; } + [Parameter] public EventCallback OnMultipleOfThree { get; set; } public async Task OnClosedAlert(AlertDTO nt) { var rsp= await hc.Put($"User/ReadNotification/{Convert.ToInt32(nt.ViewSize)}"); - // if (rsp.IsSuccessStatusCode) - // { - // fv.dashBoard.Notifications.Remove(nt); + if (rsp.IsSuccessStatusCode) + { + var ddd= fv.dashBoard?.Notifications.Remove(fv.dashBoard?.Notifications.Where(w=>w.ViewSize==nt.ViewSize&&w.Status==nt.Status + &&w.Path==nt.Path&&w.Message==nt.Message).First()); - // } + await OnMultipleOfThree.InvokeAsync(fv.dashBoard.Notifications.Count()); + + } } } diff --git a/TaxPayerFull/FixedValues.cs b/TaxPayerFull/FixedValues.cs index 323cc2f..7c9d380 100644 --- a/TaxPayerFull/FixedValues.cs +++ b/TaxPayerFull/FixedValues.cs @@ -14,7 +14,7 @@ namespace Front private List>? Cods = null; private CompanyDTO? InfoCompany = null; public InvoiceDTO? invoice { get; set; } = null; - private DashBoardDTO? dashBoard { get; set; } = null; + public DashBoardDTO? dashBoard { get; set; } = null; public Fixedvalues(HttpClientController hc) { _hc = hc; @@ -76,10 +76,10 @@ namespace Front return InfoCompany; } - public async Task GetDashBoard() + public async Task GetDashBoard(bool run=false) { - if (dashBoard == null) + if (dashBoard == null || run) { var rsp = await _hc.Get("User/GetDashBoard"); if (rsp.IsSuccessStatusCode) diff --git a/TaxPayerFull/Layout/PanelLayout.razor b/TaxPayerFull/Layout/PanelLayout.razor index d673caf..bd19ba5 100644 --- a/TaxPayerFull/Layout/PanelLayout.razor +++ b/TaxPayerFull/Layout/PanelLayout.razor @@ -170,7 +170,7 @@ { } @@ -216,6 +216,7 @@ @code { + public int countnot = 0; private Modal modal = default!; public DashBoardDTO? dashBoard { get; set; } protected override async Task OnInitializedAsync() @@ -224,15 +225,22 @@ nav.NavigateTo("/"); dashBoard = await fv.GetDashBoard(); + if (dashBoard != null) + countnot = dashBoard.Notifications.Count(); await base.OnInitializedAsync(); } } @functions { + public async Task CallBack(int count) + { + countnot = count; + } public async Task ShowNotifications() { - + // dashBoard = await fv.GetDashBoard(); var parameters = new Dictionary(); parameters.Add("items", dashBoard?.Notifications); + parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBack)); await modal.ShowAsync(title: "اطلاعیه ها", parameters: parameters);