using AccountManagement.Application.Contracts.Account; using Microsoft.AspNetCore.Mvc; using ServiceHost.BaseControllers; namespace ServiceHost.Areas.Admin.Controllers; public class AccountController:AdminBaseController { private readonly IAccountApplication _accountApplication; public AccountController(IAccountApplication accountApplication) { _accountApplication = accountApplication; } /// /// سلکت لیست اکانت های ادمین برای جستجو /// /// [HttpGet("select_list")] public async Task>> GetAdminAccountsSelectList() { var res = await _accountApplication.GetAdminSelectList(); return res; } [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);