예제 #1
0
 public Task <IReadOnlyList <GetEmployeeListViewModel> > Handle(GetEmployeeListQuery request, CancellationToken cancellationToken) =>
 queryFacade.QueryAsync <GetEmployeeListViewModel>(
     @"SELECT
             e.Id,
             e.LastName,
             e.FirstName,
             e.MiddleName,
             e.Gender,
             e.EmployeeLevel,
             e.DateHired,
             e.DateExited,
             (SELECT COUNT(DISTINCT EmployeeId) FROM EmployeeManagers s WITH(NOLOCK) WHERE s.ManagerId = e.Id) AS NumSubordinates,
             m.Id AS ManagerId,
             m.LastName AS ManagerLastName,
             m.FirstName AS ManagerFirstName,
             m.MiddleName AS ManagerMiddleName
             FROM Employees e WITH(NOLOCK)
             LEFT JOIN EmployeeManagers em WITH(NOLOCK) ON em.EmployeeId = e.Id
             LEFT JOIN Employees m WITH(NOLOCK) ON em.ManagerId = m.Id");
 public Task <IReadOnlyList <GetPaidTimeOffPolicyListViewModel> > Handle(GetPaidTimeOffPolicyListQuery request, CancellationToken cancellationToken) =>
 queryFacade.QueryAsync <GetPaidTimeOffPolicyListViewModel>("SELECT Id, Name, AllowsUnlimitedPto, EmployeeLevel, IsDefaultForEmployeeLevel FROM PaidTimeOffPolicies WITH(NOLOCK)");