Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }