コード例 #1
0
        public async Task <IActionResult> GetLeaveForms()
        {
            var claimSID = User.FindFirst(JwtRegisteredClaimNames.Sid)?.Value;

            if (claimSID == null)
            {
                apiResult = APIResultFactory.Build(false, StatusCodes.Status400BadRequest,
                                                   ErrorMessageEnum.杖中沒有發現指定使用者ID);
                return(BadRequest(apiResult));
            }
            UserID = Convert.ToInt32(claimSID);
            var fooUser = await _context.LobUsers.Include(x => x.Department).FirstOrDefaultAsync(x => x.Id == UserID);

            if (fooUser == null)
            {
                apiResult = APIResultFactory.Build(false, StatusCodes.Status404NotFound,
                                                   ErrorMessageEnum.沒有發現指定的該使用者資料);
                return(NotFound(apiResult));
            }

            List <LeaveFormResponseDTO> fooLeaveFormResponseDTO = new List <LeaveFormResponseDTO>();

            foreach (var item in _context.LeaveForms.Include(x => x.LeaveFormType)
                     .Include(x => x.User).ThenInclude(x => x.Department)
                     .Where(x => x.User.Id == UserID))
            {
                LeaveFormResponseDTO fooObject = item.ToLeaveFormResponseDTO();
                fooLeaveFormResponseDTO.Add(fooObject);
            }
            apiResult = APIResultFactory.Build(true, StatusCodes.Status200OK,
                                               ErrorMessageEnum.None, payload: fooLeaveFormResponseDTO);
            return(Ok(apiResult));
        }
コード例 #2
0
        public static LeaveFormResponseDTO ToLeaveFormResponseDTO(this LeaveForm leaveForm)
        {
            LeaveFormResponseDTO LeaveFormResponseDTO = new LeaveFormResponseDTO()
            {
                BeginTime     = leaveForm.BeginTime,
                EndTime       = leaveForm.EndTime,
                Description   = leaveForm.Description,
                Id            = leaveForm.Id,
                TotalHours    = leaveForm.TotalHours,
                leaveFormType = new LeaveFormTypeDTO()
                {
                    Id = leaveForm.LeaveFormType.Id
                },
                user = new UserDTO()
                {
                    Id         = leaveForm.User.Id,
                    Department = new DepartmentDTO()
                    {
                        Id = leaveForm.User.Department.Id
                    }
                }
            };

            return(LeaveFormResponseDTO);
        }