public async Task <ApiResult <EmployeeDto> > GetEmployeeAsync(string employeeId) { var employee = await(from e in _context.Employees join appuser in _context.AppUsers on e.AppuserId equals appuser.Id into AppUserGroup from au in AppUserGroup.DefaultIfEmpty() join branch in _context.Branches on e.BranchId equals branch.Id into BranchsGroup from b in BranchsGroup.DefaultIfEmpty() join department in _context.Departments on e.DepartmentId equals department.Id into DepartmentsGroup from d in DepartmentsGroup.DefaultIfEmpty() where e.Id == employeeId select new EmployeeDto() { Id = e.Id, Address = e.Address, Description = e.Description, Dob = e.Dob, Gender = e.Gender, Name = e.Name, PhoneNumber = e.PhoneNumber, UserName = au.UserName, IsDelete = e.IsDelete, DepartmentName = d.Name, BranchName = b.Name }).SingleOrDefaultAsync(); if (employee == null) { return(new ApiResult <EmployeeDto>(HttpStatusCode.NotFound, $"Không tìm thấy nhân viên có mã: {employeeId}")); } return(new ApiResult <EmployeeDto>(HttpStatusCode.OK, employee)); }
public async Task <ApiResult <PagedResult <EmployeesDto> > > GetEmployeesPagingAsync(int pageIndex, int pageSize) { var employees = await(from employee in _context.Employees join branch in _context.Branches on employee.BranchId equals branch.Id into BrachesGroup from b in BrachesGroup.DefaultIfEmpty() join department in _context.Departments on employee.DepartmentId equals department.Id into DepartmentsGroup from d in DepartmentsGroup.DefaultIfEmpty() where employee.IsDelete == false select new EmployeesDto() { Address = employee.Address, Branch = b.Name, Department = d.Name, Id = employee.Id, Name = employee.Name, PhoneNumber = employee.PhoneNumber }).GetPagedAsync(pageIndex, pageSize); return(new ApiResult <PagedResult <EmployeesDto> >(HttpStatusCode.OK, employees)); }