This commit is contained in:
mmrbnjd
2024-06-24 17:33:26 +03:30
parent a1d265bf7f
commit 4631d8f159
4 changed files with 52 additions and 4 deletions

View File

@@ -227,11 +227,13 @@ namespace Back.Services
if (!string.IsNullOrEmpty(request.LastLoginDate)) if (!string.IsNullOrEmpty(request.LastLoginDate))
request.LastLoginDate = $"{request.LastLoginDate.Substring(8, 2)}:{request.LastLoginDate.Substring(10, 2)} {request.LastLoginDate.Substring(0, 4)}/{request.LastLoginDate.Substring(4, 2)}/{request.LastLoginDate.Substring(6, 2)}"; request.LastLoginDate = $"{request.LastLoginDate.Substring(8, 2)}:{request.LastLoginDate.Substring(10, 2)} {request.LastLoginDate.Substring(0, 4)}/{request.LastLoginDate.Substring(4, 2)}/{request.LastLoginDate.Substring(6, 2)}";
//request.Warning.Add(new AlertDTO { Status = 6, Message = "تست هشدار آبی" });
//request.Warning.Add(new AlertDTO { Status = 5, Message = "تست هشدار زرد" });
//if (user.Mobile == user.Username) //if (user.Mobile == user.Username)
// request.Warning.Add(new AlertDTO { Status = 0, Message = "موبایل و نام کاربری بهتر است شبیه هم نباشند" }); // request.Warning.Add(new AlertDTO { Status = 0, Message = "موبایل و نام کاربری بهتر است شبیه هم نباشند" });
if (user.Mobile.encrypted() == user.Password) if (user.Mobile.encrypted() == user.Password)
request.Warning.Add(new AlertDTO { Status = 0, Message = "موبایل و کلمه عبور بهتر است شبیه هم نباشند" }); request.Warning.Add(new AlertDTO { Status = 6, Message = "موبایل و کلمه عبور بهتر است شبیه هم نباشند" });
var Company = user.RolUsers.Where(w => w.CompanyID == user.RolUsers.First().CompanyID).Select(s => s.Company).FirstOrDefault(); var Company = user.RolUsers.Where(w => w.CompanyID == user.RolUsers.First().CompanyID).Select(s => s.Company).FirstOrDefault();
if (Company != null) if (Company != null)
{ {
@@ -239,7 +241,7 @@ namespace Back.Services
string.IsNullOrEmpty(Company.EconomicCode) || string.IsNullOrEmpty(Company.UniqeMemory) string.IsNullOrEmpty(Company.EconomicCode) || string.IsNullOrEmpty(Company.UniqeMemory)
|| string.IsNullOrEmpty(Company.PrivateKey)) || string.IsNullOrEmpty(Company.PrivateKey))
{ {
request.Warning.Add(new AlertDTO { Status = 0, Message = "بهتر است اطلاعات شرکت بروزرسانی شود" }); request.Warning.Add(new AlertDTO { Status = 5, Message = "بهتر است اطلاعات شرکت بروزرسانی شود" });
} }
} }
var nots = await _servNotification.GetNotifications(); var nots = await _servNotification.GetNotifications();

View File

@@ -0,0 +1,11 @@
@using Shared.DTOs
<h3>Notifications</h3>
<h3>@items.Count()</h3>
<Alert Color="AlertColor.Warning" Dismissable="true"> <strong>Holy guacamole!</strong> You should check in on some of those fields below. </Alert>
@code {
[Parameter] public List<AlertDTO> items { get; set; }
}

View File

@@ -7,6 +7,7 @@
@inject NavigationManager nav @inject NavigationManager nav
@inject localService localserv; @inject localService localserv;
@inject Fixedvalues fv; @inject Fixedvalues fv;
<Modal @ref="modal" />
<HeadContent> <HeadContent>
<link rel="canonical" href="#"> <link rel="canonical" href="#">
<!-- Favicon --> <!-- Favicon -->
@@ -165,6 +166,11 @@
</ul> </ul>
</li> </li>
<!--/ User --> <!--/ User -->
<li class="nav-item lh-1 me-3 f-ir">
<Button Type="ButtonType.Button" @onclick="ShowNotifications" Color="ButtonColor.None">
<Badge Color="BadgeColor.Danger"><Icon Name="IconName.MegaphoneFill" /> @dashBoard?.Notifications.Count()</Badge>
</Button>
</li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -206,6 +212,7 @@
</div> </div>
@code { @code {
private Modal modal = default!;
public DashBoardDTO? dashBoard { get; set; } public DashBoardDTO? dashBoard { get; set; }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
@@ -217,6 +224,15 @@
} }
} }
@functions { @functions {
public async Task ShowNotifications()
{
var parameters = new Dictionary<string, object>();
parameters.Add("items", dashBoard?.Notifications);
await modal.ShowAsync<Front.CUSComponent.Notifications>(title: "اطلاعیه ها", parameters: parameters);
}
private async Task Logout() private async Task Logout()
{ {
_hc.DefaultRequestHeaders.Clear(); _hc.DefaultRequestHeaders.Clear();

View File

@@ -7,9 +7,12 @@
@layout PanelLayout @layout PanelLayout
@inject HttpClientController hc; @inject HttpClientController hc;
@inject Fixedvalues fv; @inject Fixedvalues fv;
<PageTitle>کاربری</PageTitle> <PageTitle>کاربری</PageTitle>
<Toasts class="p-3" Messages="messages" AutoHide="true" Delay="4000" Placement="ToastsPlacement.TopRight" />
<div class="row"> <div class="row">
<div class="col-lg-6 mb-3 order-0"> <div class="col-lg-6 mb-3 order-0">
<div class="card"> <div class="card">
<div class="d-flex align-items-end row"> <div class="d-flex align-items-end row">
@@ -402,14 +405,21 @@
@code { @code {
List<ToastMessage> messages = new List<ToastMessage>();
private Modal modal = default!;
private void ShowMessage(ToastType toastType, string Message) => messages.Add(CreateToastMessage(toastType, Message));
public DashBoardDTO? dashBoard { get; set; } public DashBoardDTO? dashBoard { get; set; }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
if (!await localserv.OnlineUser()) if (!await localserv.OnlineUser())
nav.NavigateTo("/"); nav.NavigateTo("/");
dashBoard = await fv.GetDashBoard(); dashBoard = await fv.GetDashBoard();
if (dashBoard != null)
foreach (var war in dashBoard.Warning)
ShowMessage((ToastType)Enum.Parse(typeof(ToastType), war.Status.ToString()), war.Message);
//var rsp = await hc.Get("User/GetDashBoard"); //var rsp = await hc.Get("User/GetDashBoard");
// if (rsp.IsSuccessStatusCode) // if (rsp.IsSuccessStatusCode)
// { // {
@@ -418,3 +428,12 @@
await base.OnInitializedAsync(); await base.OnInitializedAsync();
} }
} }
@functions {
private ToastMessage CreateToastMessage(ToastType toastType, string Message)
=> new ToastMessage
{
Type = toastType,
Message = Message,
};
}