diff --git a/AccountManagement.Application.Contracts/Account/IAccountApplication.cs b/AccountManagement.Application.Contracts/Account/IAccountApplication.cs index 89f9693a..3c31d726 100644 --- a/AccountManagement.Application.Contracts/Account/IAccountApplication.cs +++ b/AccountManagement.Application.Contracts/Account/IAccountApplication.cs @@ -64,4 +64,6 @@ public interface IAccountApplication /// /// public bool CheckExistClientAccount(string userName); + List GetAdminAccountsNew(); + } \ No newline at end of file diff --git a/AccountManagement.Application/AccountApplication.cs b/AccountManagement.Application/AccountApplication.cs index ff4e5a25..4204be40 100644 --- a/AccountManagement.Application/AccountApplication.cs +++ b/AccountManagement.Application/AccountApplication.cs @@ -799,4 +799,8 @@ public class AccountApplication : IAccountApplication return _accountRepository.CheckExistClientAccount(userName); } + public List GetAdminAccountsNew() + { + return _accountRepository.GetAdminAccountsNew(); + } } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Controllers/AccountController.cs b/ServiceHost/Areas/Admin/Controllers/AccountController.cs index 314b8de5..ddf16f83 100644 --- a/ServiceHost/Areas/Admin/Controllers/AccountController.cs +++ b/ServiceHost/Areas/Admin/Controllers/AccountController.cs @@ -8,6 +8,7 @@ public class AccountController:AdminBaseController { private readonly IAccountApplication _accountApplication; + public AccountController(IAccountApplication accountApplication) { _accountApplication = accountApplication; @@ -22,4 +23,28 @@ public class AccountController:AdminBaseController var res = await _accountApplication.GetAdminSelectList(); return res; } -} \ No newline at end of file + + [HttpGet("admins-by-role")] + public ActionResult GetAdminAccountsByRole() + { + var adminAccounts = _accountApplication.GetAdminAccountsNew().Select(x=> new AccountSelectListViewModel() + { + Id = x.Id, + Name = x.Fullname, + RoleId = x.RoleId + }).ToList(); + + var seniorContractAccountsList = adminAccounts.Where(x => x.RoleId == 3).ToList(); + var juniorContractAccountsList = adminAccounts.Where(x => x.RoleId == 5).ToList(); + var seniorInsuranceAccountList = adminAccounts.Where(x => x.RoleId == 7).ToList(); + var juniorInsuranceAccountsList = adminAccounts.Where(x => x.RoleId == 8).ToList(); + return new AdminAccountByRoleResponse(seniorContractAccountsList, juniorContractAccountsList, + seniorInsuranceAccountList, juniorInsuranceAccountsList); + } +} + +public record AdminAccountByRoleResponse( + List SeniorContractAccountsList, + List JuniorContractAccountsList, + List SeniorInsuranceAccountList, + List JuniorInsuranceAccountsList); \ No newline at end of file