50 lines
1.9 KiB
C#
50 lines
1.9 KiB
C#
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;
|
|
}
|
|
/// <summary>
|
|
/// سلکت لیست اکانت های ادمین برای جستجو
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("select_list")]
|
|
public async Task<ActionResult<List<AccountSelectListViewModel>>> GetAdminAccountsSelectList()
|
|
{
|
|
var res = await _accountApplication.GetAdminSelectList();
|
|
return res;
|
|
}
|
|
|
|
[HttpGet("admins-by-role")]
|
|
public ActionResult<AdminAccountByRoleResponse> 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<AccountSelectListViewModel> SeniorContractAccountsList,
|
|
List<AccountSelectListViewModel> JuniorContractAccountsList,
|
|
List<AccountSelectListViewModel> SeniorInsuranceAccountList,
|
|
List<AccountSelectListViewModel> JuniorInsuranceAccountsList); |