diff --git a/.dockerignore b/.dockerignore
index 8bf65212..3729ff0c 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -22,12 +22,4 @@
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
-README.md
-.git
-**/bin/
-**/obj/
-.vscode/
-.dockerignore
-.gitignore
-README.md
-*.md
\ No newline at end of file
+README.md
\ No newline at end of file
diff --git a/.forgejo/workflows/build-checkin.yml b/.forgejo/workflows/build-checkin.yml
deleted file mode 100644
index 3971e9df..00000000
--- a/.forgejo/workflows/build-checkin.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Checkin Service
-
-on:
- push:
- tags:
- - "checkin-dev[0-9]+.[0-9]+.[0-9]+"
- - "checkin-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-checkin
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/checkin-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.CheckInConsumer/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_CHECKIN "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.forgejo/workflows/build-discipline.yml b/.forgejo/workflows/build-discipline.yml
deleted file mode 100644
index 767d775b..00000000
--- a/.forgejo/workflows/build-discipline.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Discipline Service
-
-on:
- push:
- tags:
- - "discipline-dev[0-9]+.[0-9]+.[0-9]+"
- - "discipline-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-discipline
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/discipline-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.Discipline.Service/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_DISCIPLINE "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.forgejo/workflows/build-insignia.yml b/.forgejo/workflows/build-insignia.yml
deleted file mode 100644
index 7ddcbdbd..00000000
--- a/.forgejo/workflows/build-insignia.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Insignia Service
-
-on:
- push:
- tags:
- - "insignia-dev[0-9]+.[0-9]+.[0-9]+"
- - "insignia-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-insignia
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/insignia-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.Insignia/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_INSIGNIA "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.forgejo/workflows/build-leave.yml b/.forgejo/workflows/build-leave.yml
deleted file mode 100644
index b1c9c168..00000000
--- a/.forgejo/workflows/build-leave.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Leave Service
-
-on:
- push:
- tags:
- - "leave-dev[0-9]+.[0-9]+.[0-9]+"
- - "leave-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-leave
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/leave-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.Leave/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_LEAVE "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.forgejo/workflows/build-placement.yml b/.forgejo/workflows/build-placement.yml
deleted file mode 100644
index 351b1e59..00000000
--- a/.forgejo/workflows/build-placement.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Placement Service
-
-on:
- push:
- tags:
- - "placement-dev[0-9]+.[0-9]+.[0-9]+"
- - "placement-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-placement
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/placement-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.Placement.Service/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_PLACEMENT "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.forgejo/workflows/build-retirement.yml b/.forgejo/workflows/build-retirement.yml
deleted file mode 100644
index 257f68f2..00000000
--- a/.forgejo/workflows/build-retirement.yml
+++ /dev/null
@@ -1,83 +0,0 @@
-name: Build & Deploy Retirement Service
-
-on:
- push:
- tags:
- - "retirement-dev[0-9]+.[0-9]+.[0-9]+"
- - "retirement-dev[0-9]+.[0-9]+.[0-9]+*"
- workflow_dispatch:
-
-env:
- REGISTRY: ${{ vars.CONTAINER_REGISTRY }}
- REGISTRY_USERNAME: ${{ vars.CONTAINER_REGISTRY_USERNAME }}
- REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
- CONTAINER_IMAGE_NAME: ${{ vars.CONTAINER_REGISTRY }}/${{ vars.CONTAINER_IMAGE_OWNER }}
- IMAGE_VERSION: latest
- SERVICE_NAME: hrms-api-retirement
- DISCORD_WEBHOOK: ${{ vars.DISCORD_WEBHOOK }}
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Tag Version
- shell: bash
- run: |
- if [[ "${{ github.event_name }}" == "push" ]]; then
- VERSION=$(echo "${{ github.ref_name }}" | sed 's/retirement-dev//g')
- echo "IMAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- else
- echo "IMAGE_VERSION=${{ env.IMAGE_VERSION }}-${{ github.run_number }}" >> $GITHUB_ENV
- fi
- - name: Login in to registry
- uses: docker/login-action@v3
- with:
- registry: ${{ env.REGISTRY }}
- username: ${{ env.REGISTRY_USERNAME }}
- password: ${{ env.REGISTRY_PASSWORD }}
-
- - name: Build and push docker image
- uses: docker/build-push-action@v5
- with:
- platforms: linux/amd64
- context: .
- file: ./BMA.EHR.Retirement.Service/Dockerfile
- tags: ${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:latest,${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}:${{ env.IMAGE_VERSION }}
- push: true
-
- - name: Remote Deploy
- uses: appleboy/ssh-action@v1.2.1
- with:
- host: ${{ vars.SSH_DEPLOY_HOST }}
- port: ${{ vars.SSH_DEPLOY_PORT }}
- username: ${{ secrets.SSH_DEPLOY_USER }}
- password: ${{ secrets.SSH_DEPLOY_PASSWORD }}
- script: |
- cd ~/repo
- ./replace-env.sh API_RETIREMENT "${{ env.IMAGE_VERSION }}"
- ./deploy.sh ${{ env.SERVICE_NAME }}
-
- - name: Discord Notification
- if: always()
- run: |
- STATUS="${{ job.status == 'success' && '✅ Success' || '❌ Failed' }}"
- COLOR="${{ job.status == 'success' && '3066993' || '15158332' }}"
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- curl -H "Content-Type: application/json" \
- -X POST \
- -d "{
- \"embeds\": [{
- \"title\": \"$STATUS\",
- \"description\": \"**Build & Deploy**\\n- Image: \`${{ env.CONTAINER_IMAGE_NAME }}/${{ env.SERVICE_NAME }}\`\\n- Version: \`${{ env.IMAGE_VERSION }}\`\\n- By: \`${{ gitea.actor }}\`\",
- \"color\": $COLOR,
- \"footer\": {
- \"text\": \"Release Notification\",
- \"icon_url\": \"https://example.com/success-icon.png\"
- },
- \"timestamp\": \"$TIMESTAMP\"
- }]
- }" \
- ${{ env.DISCORD_WEBHOOK }}
diff --git a/.github/workflows/discord-notify.yml b/.github/workflows/discord-notify.yml
deleted file mode 100644
index ce4ee51d..00000000
--- a/.github/workflows/discord-notify.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Discord PR Notify
-
-on:
- pull_request:
- types: [opened]
-
-jobs:
- discord:
- runs-on: ubuntu-latest
- steps:
- - name: Send Discord
- run: |
- curl -X POST "${{ secrets.DISCORD_WEBHOOK_PULLREQUEST }}" \
- -H "Content-Type: application/json" \
- -d '{
- "embeds": [{
- "title": "🔔 **Service:** ${{ github.repository }}",
- "description": "👤 **Author:** ${{ github.event.pull_request.user.login }}\n🌿 **Branch:** ${{ github.event.pull_request.head.ref }} → ${{ github.event.pull_request.base.ref }}\n📦 **Pull Request:** [#${{ github.event.pull_request.number }} - ${{ github.event.pull_request.title }}](${{ github.event.pull_request.html_url }})",
- "color": 5814783,
- "timestamp": "${{ github.event.pull_request.created_at }}"
- }]
- }'
diff --git a/.github/workflows/dockerhub-release-checkin.yaml b/.github/workflows/dockerhub-release-checkin.yaml
deleted file mode 100644
index b80c44f7..00000000
--- a/.github/workflows/dockerhub-release-checkin.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - CheckIn Consumer
-run-name: DockerHub Release - CheckIn Consumer by ${{ github.actor }}
-on:
- push:
- tags:
- - "checkin-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-checkin
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.CheckInConsumer/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR CheckIn Consumer
- org.opencontainers.image.description=HRMS CheckIn Consumer Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-command.yaml b/.github/workflows/dockerhub-release-command.yaml
deleted file mode 100644
index 571fd6c9..00000000
--- a/.github/workflows/dockerhub-release-command.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Command Service
-run-name: DockerHub Release - Command Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "command-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-command
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Command.Service/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Command Service
- org.opencontainers.image.description=HRMS Command API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-discipline.yaml b/.github/workflows/dockerhub-release-discipline.yaml
deleted file mode 100644
index f4642bd8..00000000
--- a/.github/workflows/dockerhub-release-discipline.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Discipline Service
-run-name: DockerHub Release - Discipline Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "discipline-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-discipline
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Discipline.Service/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Discipline Service
- org.opencontainers.image.description=HRMS Discipline API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-insignia.yaml b/.github/workflows/dockerhub-release-insignia.yaml
deleted file mode 100644
index 79d89963..00000000
--- a/.github/workflows/dockerhub-release-insignia.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Insignia Service
-run-name: DockerHub Release - Insignia Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "insignia-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-insignia
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Insignia/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Insignia Service
- org.opencontainers.image.description=HRMS Insignia API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-leave.yaml b/.github/workflows/dockerhub-release-leave.yaml
deleted file mode 100644
index f9c2e0ba..00000000
--- a/.github/workflows/dockerhub-release-leave.yaml
+++ /dev/null
@@ -1,119 +0,0 @@
-name: DockerHub Release - Leave Service
-run-name: DockerHub Release - Leave Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "leave-[0-9]+.[0-9]+.[0-9]+"
- # branches:
- # - main
- # - develop
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-leave
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- elif [[ $GITHUB_REF == 'refs/heads/'* ]]; then
- BRANCH_NAME=${GITHUB_REF#refs/heads/}
- IMAGE_VER="${BRANCH_NAME}-latest"
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Extract metadata for Docker
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}
- tags: |
- type=ref,event=tag
- type=ref,event=branch
- type=raw,value=${{ steps.gen_ver.outputs.image_ver }}
- type=raw,value=latest,enable={{is_default_branch}}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Leave/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: ${{ steps.meta.outputs.labels }}
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Image digest
- run: echo "Image pushed with digest ${{ steps.build.outputs.digest }}"
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-placement.yaml b/.github/workflows/dockerhub-release-placement.yaml
deleted file mode 100644
index d4e3dade..00000000
--- a/.github/workflows/dockerhub-release-placement.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Placement Service
-run-name: DockerHub Release - Placement Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "placement-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-placement
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Placement.Service/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Placement Service
- org.opencontainers.image.description=HRMS Placement API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-reportv2.yaml b/.github/workflows/dockerhub-release-reportv2.yaml
deleted file mode 100644
index 4dc73f3f..00000000
--- a/.github/workflows/dockerhub-release-reportv2.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Report Service
-run-name: DockerHub Release - Report Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "reportv2-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-reportv2
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Report.Service/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Report Service
- org.opencontainers.image.description=HRMS Report API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/dockerhub-release-retirement.yaml b/.github/workflows/dockerhub-release-retirement.yaml
deleted file mode 100644
index 50ace5cd..00000000
--- a/.github/workflows/dockerhub-release-retirement.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-name: DockerHub Release - Retirement Service
-run-name: DockerHub Release - Retirement Service by ${{ github.actor }}
-on:
- push:
- tags:
- - "retirement-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
- inputs:
- IMAGE_VER:
- description: "Image version (e.g., latest, v1.0.0)"
- required: false
- default: "latest"
-
-env:
- DOCKERHUB_REGISTRY: docker.io
- IMAGE_NAME: hrms-api-retirement
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
-
-jobs:
- release-to-dockerhub:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
-
- - name: Generate version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo "image_ver=${IMAGE_VER}" >> $GITHUB_OUTPUT
- echo "Generated version: ${IMAGE_VER}"
-
- - name: Display version
- run: |
- echo "Git Ref: $GITHUB_REF"
- echo "Image Version: ${{ steps.gen_ver.outputs.image_ver }}"
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Login to Docker Hub
- uses: docker/login-action@v3
- with:
- registry: ${{env.DOCKERHUB_REGISTRY}}
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Build and push Docker image
- uses: docker/build-push-action@v5
- with:
- context: .
- file: BMA.EHR.Retirement.Service/Dockerfile
- platforms: linux/amd64
- push: true
- tags: |
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ steps.gen_ver.outputs.image_ver }}
- ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
- labels: |
- org.opencontainers.image.title=BMA EHR Retirement Service
- org.opencontainers.image.description=HRMS Retirement API Service
- cache-from: type=gha
- cache-to: type=gha,mode=max
-
- - name: Notify Discord on success
- if: success()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="✅ DockerHub release succeeded\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
-
- - name: Notify Discord on failure
- if: failure()
- env:
- IMAGE_VER: ${{ steps.gen_ver.outputs.image_ver }}
- run: |
- TAG_INFO="Tag: ${IMAGE_VER:-unknown}"
- REF_INFO="Ref: ${GITHUB_REF}"
- ACTOR_INFO="Actor: ${GITHUB_ACTOR}"
- MSG="❌ DockerHub release failed\n${TAG_INFO}\n${REF_INFO}\n${ACTOR_INFO}"
- curl -s -H "Content-Type: application/json" \
- -X POST \
- -d "{\"content\":\"${MSG}\"}" \
- "$DISCORD_WEBHOOK"
diff --git a/.github/workflows/release_Retirement.yaml b/.github/workflows/release_Retirement.yaml
index 3fd5bedf..6cdceae0 100644
--- a/.github/workflows/release_Retirement.yaml
+++ b/.github/workflows/release_Retirement.yaml
@@ -1,9 +1,9 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "retirement-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "retirement-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
diff --git a/.github/workflows/release_checkin_consumer.yaml b/.github/workflows/release_checkin_consumer.yaml
index f9081264..31b015e6 100644
--- a/.github/workflows/release_checkin_consumer.yaml
+++ b/.github/workflows/release_checkin_consumer.yaml
@@ -1,9 +1,9 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "consumer-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "consumer-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
diff --git a/.github/workflows/release_command.yaml b/.github/workflows/release_command.yaml
index dba3012e..ed19e8ca 100644
--- a/.github/workflows/release_command.yaml
+++ b/.github/workflows/release_command.yaml
@@ -1,107 +1,89 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "command-[0-9]+.[0-9]+.[0-9]+"
- workflow_dispatch:
+ # push:
+ # tags:
+ # - 'v[0-9]+.[0-9]+.[0-9]+'
+ # tags-ignore:
+ # - '2.*'
+ # Allow run workflow manually from Action tab
+ workflow_dispatch:
env:
- REGISTRY: docker.frappet.com
- IMAGE_NAME: ehr/bma-ehr-command-service
- DEPLOY_HOST: frappet.com
- DEPLOY_PORT: 10102
- # COMPOSE_PATH: /home/frappet/docker/bma-ehr
- COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-command
- TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
+ REGISTRY: docker.frappet.com
+ IMAGE_NAME: ehr/bma-ehr-command-service
+ DEPLOY_HOST: frappet.com
+ DEPLOY_PORT: 10102
+ # COMPOSE_PATH: /home/frappet/docker/bma-ehr
+ COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-command
+ TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
jobs:
- # act workflow_dispatch -W .github/workflows/release_command.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
- release-dev:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- - name: Gen Version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo '::set-output name=image_ver::'$IMAGE_VER
- - name: Check Version
- run: |
- echo $GITHUB_REF
- echo ${{ steps.gen_ver.outputs.image_ver }}
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- - name: Login in to registry
- uses: docker/login-action@v2
- with:
- registry: ${{env.REGISTRY}}
- username: ${{secrets.DOCKER_USER}}
- password: ${{secrets.DOCKER_PASS}}
- - name: Build and load local docker image
- uses: docker/build-push-action@v3
- with:
- context: .
- platforms: linux/amd64
- file: BMA.EHR.Command.Service/Dockerfile
- push: true
- tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
+ # act workflow_dispatch -W .github/workflows/release_command.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
+ release-dev:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ # skip Set up QEMU because it fail on act and container
+ - name: Gen Version
+ id: gen_ver
+ run: |
+ if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
+ IMAGE_VER='${GITHUB_REF/refs\/tags\//}'
+ else
+ IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
+ fi
+ if [[ $IMAGE_VER == '' ]]; then
+ IMAGE_VER='test-vBeta'
+ fi
+ echo '::set-output name=image_ver::'$IMAGE_VER
+ - name: Test Version
+ run: |
+ echo $GITHUB_REF
+ echo ${{ steps.gen_ver.outputs.image_ver }}
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login in to registry
+ uses: docker/login-action@v2
+ with:
+ registry: ${{env.REGISTRY}}
+ username: ${{secrets.DOCKER_USER}}
+ password: ${{secrets.DOCKER_PASS}}
+ - name: Build and load local docker image
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ platforms: linux/amd64
+ file: BMA.EHR.Command.Service/Dockerfile
+ push: true
+ tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
- - name: Reload docker compose
- uses: appleboy/ssh-action@v0.1.8
- with:
- host: ${{env.DEPLOY_HOST}}
- username: frappet
- password: ${{ secrets.SSH_PASSWORD }}
- port: ${{env.DEPLOY_PORT}}
- script: |
- cd "${{env.COMPOSE_PATH}}"
- docker compose pull
- docker compose up -d
- echo "${{ steps.gen_ver.outputs.image_ver }}"> success
- - name: Notify Discord Success
- if: success()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "✅ Deployment Success!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
- "color": 3066993,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/success-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
-
- - name: Notify Discord Failure
- if: failure()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "❌ Deployment Failed!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
- "color": 15158332,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/failure-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
+ - name: Reload docker compose
+ uses: appleboy/ssh-action@v0.1.8
+ with:
+ host: ${{env.DEPLOY_HOST}}
+ username: frappet
+ password: ${{ secrets.SSH_PASSWORD }}
+ port: ${{env.DEPLOY_PORT}}
+ script: |
+ cd "${{env.COMPOSE_PATH}}"
+ docker compose pull
+ docker compose up -d
+ echo "${{ steps.gen_ver.outputs.image_ver }}"> success
+ - uses: snow-actions/line-notify@v1.1.0
+ if: success()
+ with:
+ access_token: ${{ env.TOKEN_LINE }}
+ message: |
+ -Success✅✅✅
+ Image: ${{env.IMAGE_NAME}}
+ Version: ${{ github.event.inputs.IMAGE_VER }}
+ By: ${{secrets.DOCKER_USER}}
+ - uses: snow-actions/line-notify@v1.1.0
+ if: failure()
+ with:
+ access_token: ${{ env.TOKEN_LINE }}
+ message: |
+ -Failure❌❌❌
+ Image: ${{env.IMAGE_NAME}}
+ Version: ${{ github.event.inputs.IMAGE_VER }}
+ By: ${{secrets.DOCKER_USER}}
diff --git a/.github/workflows/release_discipline.yaml b/.github/workflows/release_discipline.yaml
index f4cb42da..80639a84 100644
--- a/.github/workflows/release_discipline.yaml
+++ b/.github/workflows/release_discipline.yaml
@@ -1,107 +1,107 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "discipline-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "discipline-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
- REGISTRY: docker.frappet.com
- IMAGE_NAME: ehr/bma-ehr-discipline-service
- DEPLOY_HOST: frappet.com
- DEPLOY_PORT: 10102
- # COMPOSE_PATH: /home/frappet/docker/bma-ehr
- COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-discipline
- TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
+ REGISTRY: docker.frappet.com
+ IMAGE_NAME: ehr/bma-ehr-discipline-service
+ DEPLOY_HOST: frappet.com
+ DEPLOY_PORT: 10102
+ # COMPOSE_PATH: /home/frappet/docker/bma-ehr
+ COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-discipline
+ TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
jobs:
- # act workflow_dispatch -W .github/workflows/release_discipline.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
- release-dev:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- - name: Gen Version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo '::set-output name=image_ver::'$IMAGE_VER
- - name: Check Version
- run: |
- echo $GITHUB_REF
- echo ${{ steps.gen_ver.outputs.image_ver }}
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- - name: Login in to registry
- uses: docker/login-action@v2
- with:
- registry: ${{env.REGISTRY}}
- username: ${{secrets.DOCKER_USER}}
- password: ${{secrets.DOCKER_PASS}}
- - name: Build and load local docker image
- uses: docker/build-push-action@v3
- with:
- context: .
- platforms: linux/amd64
- file: BMA.EHR.Discipline.Service/Dockerfile
- push: true
- tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
+ # act workflow_dispatch -W .github/workflows/release_discipline.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
+ release-dev:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set output tags
+ id: vars
+ run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
+ - name: Gen Version
+ id: gen_ver
+ run: |
+ if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
+ IMAGE_VER=${{ steps.vars.outputs.tag }}
+ else
+ IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
+ fi
+ if [[ $IMAGE_VER == '' ]]; then
+ IMAGE_VER='test-vBeta'
+ fi
+ echo '::set-output name=image_ver::'$IMAGE_VER
+ - name: Check Version
+ run: |
+ echo $GITHUB_REF
+ echo ${{ steps.gen_ver.outputs.image_ver }}
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login in to registry
+ uses: docker/login-action@v2
+ with:
+ registry: ${{env.REGISTRY}}
+ username: ${{secrets.DOCKER_USER}}
+ password: ${{secrets.DOCKER_PASS}}
+ - name: Build and load local docker image
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ platforms: linux/amd64
+ file: BMA.EHR.Discipline.Service/Dockerfile
+ push: true
+ tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
- - name: Reload docker compose
- uses: appleboy/ssh-action@v0.1.8
- with:
- host: ${{env.DEPLOY_HOST}}
- username: frappet
- password: ${{ secrets.SSH_PASSWORD }}
- port: ${{env.DEPLOY_PORT}}
- script: |
- cd "${{env.COMPOSE_PATH}}"
- docker compose pull
- docker compose up -d
- echo "${{ steps.gen_ver.outputs.image_ver }}"> success
- - name: Notify Discord Success
- if: success()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "✅ Deployment Success!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
- "color": 3066993,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/success-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
+ - name: Reload docker compose
+ uses: appleboy/ssh-action@v0.1.8
+ with:
+ host: ${{env.DEPLOY_HOST}}
+ username: frappet
+ password: ${{ secrets.SSH_PASSWORD }}
+ port: ${{env.DEPLOY_PORT}}
+ script: |
+ cd "${{env.COMPOSE_PATH}}"
+ docker compose pull
+ docker compose up -d
+ echo "${{ steps.gen_ver.outputs.image_ver }}"> success
+ - name: Notify Discord Success
+ if: success()
+ run: |
+ curl -H "Content-Type: application/json" \
+ -X POST \
+ -d '{
+ "embeds": [{
+ "title": "✅ Deployment Success!",
+ "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
+ "color": 3066993,
+ "footer": {
+ "text": "Release Notification",
+ "icon_url": "https://example.com/success-icon.png"
+ },
+ "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
+ }]
+ }' \
+ ${{ secrets.DISCORD_WEBHOOK }}
- - name: Notify Discord Failure
- if: failure()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "❌ Deployment Failed!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
- "color": 15158332,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/failure-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
+ - name: Notify Discord Failure
+ if: failure()
+ run: |
+ curl -H "Content-Type: application/json" \
+ -X POST \
+ -d '{
+ "embeds": [{
+ "title": "❌ Deployment Failed!",
+ "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
+ "color": 15158332,
+ "footer": {
+ "text": "Release Notification",
+ "icon_url": "https://example.com/failure-icon.png"
+ },
+ "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
+ }]
+ }' \
+ ${{ secrets.DISCORD_WEBHOOK }}
diff --git a/.github/workflows/release_insignia.yaml b/.github/workflows/release_insignia.yaml
index af497b37..124d1e9c 100644
--- a/.github/workflows/release_insignia.yaml
+++ b/.github/workflows/release_insignia.yaml
@@ -1,9 +1,9 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "insignia-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "insignia-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
diff --git a/.github/workflows/release_leave.yaml b/.github/workflows/release_leave.yaml
index 9b5e0014..b017222d 100644
--- a/.github/workflows/release_leave.yaml
+++ b/.github/workflows/release_leave.yaml
@@ -1,9 +1,9 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "leave-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "leave-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
@@ -57,7 +57,7 @@ jobs:
push: true
tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
- name: Remote Deployment
- uses: appleboy/ssh-action@v1
+ uses: appleboy/ssh-action@v0.1.8
with:
host: ${{env.DEPLOY_HOST}}
username: frappet
diff --git a/.github/workflows/release_placement.yaml b/.github/workflows/release_placement.yaml
index 377cbaf4..d9c2f266 100644
--- a/.github/workflows/release_placement.yaml
+++ b/.github/workflows/release_placement.yaml
@@ -1,9 +1,9 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "placement-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "placement-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
REGISTRY: docker.frappet.com
diff --git a/.github/workflows/release_report.yaml b/.github/workflows/release_report.yaml
index e529729b..9ba5a7c4 100644
--- a/.github/workflows/release_report.yaml
+++ b/.github/workflows/release_report.yaml
@@ -1,107 +1,107 @@
name: release-dev
run-name: release-dev ${{ github.actor }}
on:
- # push:
- # tags:
- # - "reportv2-[0-9]+.[0-9]+.[0-9]+"
+ push:
+ tags:
+ - "reportv2-[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
env:
- REGISTRY: docker.frappet.com
- IMAGE_NAME: ehr/bma-ehr-report-v2-service
- DEPLOY_HOST: frappet.com
- DEPLOY_PORT: 10102
- # COMPOSE_PATH: /home/frappet/docker/bma-ehr
- COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report-v2
- TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
+ REGISTRY: docker.frappet.com
+ IMAGE_NAME: ehr/bma-ehr-report-v2-service
+ DEPLOY_HOST: frappet.com
+ DEPLOY_PORT: 10102
+ # COMPOSE_PATH: /home/frappet/docker/bma-ehr
+ COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report-v2
+ TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0
jobs:
- # act workflow_dispatch -W .github/workflows/release_report.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
- release-dev:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set output tags
- id: vars
- run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- - name: Gen Version
- id: gen_ver
- run: |
- if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
- IMAGE_VER=${{ steps.vars.outputs.tag }}
- else
- IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
- fi
- if [[ $IMAGE_VER == '' ]]; then
- IMAGE_VER='test-vBeta'
- fi
- echo '::set-output name=image_ver::'$IMAGE_VER
- - name: Check Version
- run: |
- echo $GITHUB_REF
- echo ${{ steps.gen_ver.outputs.image_ver }}
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
- - name: Login in to registry
- uses: docker/login-action@v2
- with:
- registry: ${{env.REGISTRY}}
- username: ${{secrets.DOCKER_USER}}
- password: ${{secrets.DOCKER_PASS}}
- - name: Build and load local docker image
- uses: docker/build-push-action@v3
- with:
- context: .
- platforms: linux/amd64
- file: BMA.EHR.Report.Service/Dockerfile
- push: true
- tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
+ # act workflow_dispatch -W .github/workflows/release_report.yaml --input IMAGE_VER=latest -s DOCKER_USER=admin -s DOCKER_PASS=FPTadmin2357 -s SSH_PASSWORD=FPTadmin2357
+ release-dev:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set output tags
+ id: vars
+ run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
+ - name: Gen Version
+ id: gen_ver
+ run: |
+ if [[ $GITHUB_REF == 'refs/tags/'* ]]; then
+ IMAGE_VER=${{ steps.vars.outputs.tag }}
+ else
+ IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
+ fi
+ if [[ $IMAGE_VER == '' ]]; then
+ IMAGE_VER='test-vBeta'
+ fi
+ echo '::set-output name=image_ver::'$IMAGE_VER
+ - name: Check Version
+ run: |
+ echo $GITHUB_REF
+ echo ${{ steps.gen_ver.outputs.image_ver }}
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login in to registry
+ uses: docker/login-action@v2
+ with:
+ registry: ${{env.REGISTRY}}
+ username: ${{secrets.DOCKER_USER}}
+ password: ${{secrets.DOCKER_PASS}}
+ - name: Build and load local docker image
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ platforms: linux/amd64
+ file: BMA.EHR.Report.Service/Dockerfile
+ push: true
+ tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
- - name: Reload docker compose
- uses: appleboy/ssh-action@v0.1.8
- with:
- host: ${{env.DEPLOY_HOST}}
- username: frappet
- password: ${{ secrets.SSH_PASSWORD }}
- port: ${{env.DEPLOY_PORT}}
- script: |
- cd "${{env.COMPOSE_PATH}}"
- docker compose pull
- docker compose up -d
- echo "${{ steps.gen_ver.outputs.image_ver }}"> success
- - name: Notify Discord Success
- if: success()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "✅ Deployment Success!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
- "color": 3066993,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/success-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
+ - name: Reload docker compose
+ uses: appleboy/ssh-action@v0.1.8
+ with:
+ host: ${{env.DEPLOY_HOST}}
+ username: frappet
+ password: ${{ secrets.SSH_PASSWORD }}
+ port: ${{env.DEPLOY_PORT}}
+ script: |
+ cd "${{env.COMPOSE_PATH}}"
+ docker compose pull
+ docker compose up -d
+ echo "${{ steps.gen_ver.outputs.image_ver }}"> success
+ - name: Notify Discord Success
+ if: success()
+ run: |
+ curl -H "Content-Type: application/json" \
+ -X POST \
+ -d '{
+ "embeds": [{
+ "title": "✅ Deployment Success!",
+ "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Deployed by: `${{github.actor}}`",
+ "color": 3066993,
+ "footer": {
+ "text": "Release Notification",
+ "icon_url": "https://example.com/success-icon.png"
+ },
+ "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
+ }]
+ }' \
+ ${{ secrets.DISCORD_WEBHOOK }}
- - name: Notify Discord Failure
- if: failure()
- run: |
- curl -H "Content-Type: application/json" \
- -X POST \
- -d '{
- "embeds": [{
- "title": "❌ Deployment Failed!",
- "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
- "color": 15158332,
- "footer": {
- "text": "Release Notification",
- "icon_url": "https://example.com/failure-icon.png"
- },
- "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
- }]
- }' \
- ${{ secrets.DISCORD_WEBHOOK }}
+ - name: Notify Discord Failure
+ if: failure()
+ run: |
+ curl -H "Content-Type: application/json" \
+ -X POST \
+ -d '{
+ "embeds": [{
+ "title": "❌ Deployment Failed!",
+ "description": "**Details:**\n- Image: `${{env.IMAGE_NAME}}`\n- Version: `${{ steps.gen_ver.outputs.image_ver }}`\n- Attempted by: `${{github.actor}}`",
+ "color": 15158332,
+ "footer": {
+ "text": "Release Notification",
+ "icon_url": "https://example.com/failure-icon.png"
+ },
+ "timestamp": "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"
+ }]
+ }' \
+ ${{ secrets.DISCORD_WEBHOOK }}
diff --git a/.gitignore b/.gitignore
index f60d8ec1..88bfb4ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,19 +16,6 @@
# Mono auto generated files
mono_crash.*
-# JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
-.idea/
-*.iml
-*.ipr
-*.iws
-out/
-.idea_modules/
-atlassian-ide-plugin.xml
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-fabric.properties
-
# Build results
[Dd]ebug/
[Dd]ebugPublic/
@@ -373,10 +360,4 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
-
-# VS Code C# Dev Kit cache
-*.lscache
-
-# Claude Code
-.claude/
\ No newline at end of file
+FodyWeavers.xsd
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/.name b/.idea/.idea.BMA.EHR.Solution/.idea/.name
new file mode 100644
index 00000000..888d8763
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/.name
@@ -0,0 +1 @@
+BMA.EHR.Solution
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml b/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml
new file mode 100644
index 00000000..df87cf95
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml b/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml
new file mode 100644
index 00000000..7b08163c
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/projectSettingsUpdater.xml b/.idea/.idea.BMA.EHR.Solution/.idea/projectSettingsUpdater.xml
new file mode 100644
index 00000000..4bb9f4d2
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/projectSettingsUpdater.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml b/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.BMA.EHR.Solution/.idea/workspace.xml b/.idea/.idea.BMA.EHR.Solution/.idea/workspace.xml
new file mode 100644
index 00000000..3a284eaf
--- /dev/null
+++ b/.idea/.idea.BMA.EHR.Solution/.idea/workspace.xml
@@ -0,0 +1,552 @@
+
+
+
+ BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj
+ BMA.EHR.CheckInConsumer/BMA.EHR.CheckInConsumer.csproj
+ BMA.EHR.Command.Service/BMA.EHR.Command.Service.csproj
+ BMA.EHR.Command.Service/BMA.EHR.Command.Service.csproj
+ BMA.EHR.Command.Service/BMA.EHR.Command.Service.csproj
+ BMA.EHR.Discipline.Service/BMA.EHR.Discipline.Service.csproj
+ BMA.EHR.Discipline.Service/BMA.EHR.Discipline.Service.csproj
+ BMA.EHR.Insignia/BMA.EHR.Insignia.csproj
+ BMA.EHR.Insignia/BMA.EHR.Insignia.csproj
+ BMA.EHR.Insignia/BMA.EHR.Insignia.csproj
+ BMA.EHR.Leave/BMA.EHR.Leave.csproj
+ BMA.EHR.Leave/BMA.EHR.Leave.csproj
+ BMA.EHR.Leave/BMA.EHR.Leave.csproj
+ BMA.EHR.MetaData.Service/BMA.EHR.MetaData.Service.csproj
+ BMA.EHR.MetaData.Service/BMA.EHR.MetaData.Service.csproj
+ BMA.EHR.MetaData.Service/BMA.EHR.MetaData.Service.csproj
+ BMA.EHR.OrganizationEmployee.Service/BMA.EHR.OrganizationEmployee.Service.csproj
+ BMA.EHR.OrganizationEmployee.Service/BMA.EHR.OrganizationEmployee.Service.csproj
+ BMA.EHR.OrganizationEmployee.Service/BMA.EHR.OrganizationEmployee.Service.csproj
+ BMA.EHR.Placement.Service/BMA.EHR.Placement.Service.csproj
+ BMA.EHR.Placement.Service/BMA.EHR.Placement.Service.csproj
+ BMA.EHR.Placement.Service/BMA.EHR.Placement.Service.csproj
+ BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+ BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+ BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+ BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+ BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
+ BMA.EHR.Retirement.Service/BMA.EHR.Retirement.Service.csproj
+ BMA.EHR.Retirement.Service/BMA.EHR.Retirement.Service.csproj
+ BMA.EHR.Retirement.Service/BMA.EHR.Retirement.Service.csproj
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1724638841465
+
+
+ 1724638841465
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/BMA.EHR.Leave/Controllers/LeaveController.cs
+ 1152
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 6be3e592..fd9cf53a 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,60 +1,35 @@
{
- "version": "0.2.0",
- "configurations": [
- {
- // Use IntelliSense to find out which attributes exist for C# debugging
- // Use hover for the description of the existing attributes
- // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md.
- "name": ".NET Core Launch (web)",
- "type": "coreclr",
- "request": "launch",
- "preLaunchTask": "build",
- // If you have changed target frameworks, make sure to update the program path.
- "program": "${workspaceFolder}/BMA.EHR.Leave/bin/Debug/net7.0/BMA.EHR.Leave.dll",
- "args": [],
- "cwd": "${workspaceFolder}/BMA.EHR.Leave",
- "stopAtEntry": false,
- // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
- "serverReadyAction": {
- "action": "openExternally",
- "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
- },
- "env": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- },
- "sourceFileMap": {
- "/Views": "${workspaceFolder}/Views"
- }
- },
- {
- // Use IntelliSense to find out which attributes exist for C# debugging
- // Use hover for the description of the existing attributes
- // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md.
- "name": ".NET Core Launch (web) - Insignia",
- "type": "coreclr",
- "request": "launch",
- "preLaunchTask": "build",
- // If you have changed target frameworks, make sure to update the program path.
- "program": "${workspaceFolder}/BMA.EHR.Insignia/bin/Debug/net7.0/BMA.EHR.Insignia.dll",
- "args": [],
- "cwd": "${workspaceFolder}/BMA.EHR.Insignia",
- "stopAtEntry": false,
- // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
- "serverReadyAction": {
- "action": "openExternally",
- "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
- },
- "env": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- },
- "sourceFileMap": {
- "/Views": "${workspaceFolder}/Views"
- }
- },
- {
- "name": ".NET Core Attach",
- "type": "coreclr",
- "request": "attach"
- }
- ]
-}
+ "version": "0.2.0",
+ "configurations": [
+ {
+ // Use IntelliSense to find out which attributes exist for C# debugging
+ // Use hover for the description of the existing attributes
+ // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md.
+ "name": ".NET Core Launch (web)",
+ "type": "coreclr",
+ "request": "launch",
+ "preLaunchTask": "build",
+ // If you have changed target frameworks, make sure to update the program path.
+ "program": "${workspaceFolder}/BMA.EHR.Leave.Service/bin/Debug/net7.0/BMA.EHR.Leave.Service.dll",
+ "args": [],
+ "cwd": "${workspaceFolder}/BMA.EHR.Leave.Service",
+ "stopAtEntry": false,
+ // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
+ "serverReadyAction": {
+ "action": "openExternally",
+ "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
+ },
+ "env": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "sourceFileMap": {
+ "/Views": "${workspaceFolder}/Views"
+ }
+ },
+ {
+ "name": ".NET Core Attach",
+ "type": "coreclr",
+ "request": "attach"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/BMA.EHR.Application/ApplicationServicesRegistration.cs b/BMA.EHR.Application/ApplicationServicesRegistration.cs
index 0b99a7b6..312a2597 100644
--- a/BMA.EHR.Application/ApplicationServicesRegistration.cs
+++ b/BMA.EHR.Application/ApplicationServicesRegistration.cs
@@ -23,7 +23,6 @@ namespace BMA.EHR.Application
services.AddTransient();
services.AddTransient();
services.AddTransient();
- services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddTransient();
@@ -53,16 +52,12 @@ namespace BMA.EHR.Application
services.AddTransient();
services.AddTransient();
services.AddTransient();
- services.AddTransient();
services.AddTransient();
services.AddTransient();
- services.AddTransient();
services.AddTransient();
- services.AddTransient();
-
return services;
}
diff --git a/BMA.EHR.Application/BMA.EHR.Application.csproj b/BMA.EHR.Application/BMA.EHR.Application.csproj
index 7a12c4b5..b3262e4b 100644
--- a/BMA.EHR.Application/BMA.EHR.Application.csproj
+++ b/BMA.EHR.Application/BMA.EHR.Application.csproj
@@ -4,9 +4,6 @@
net6.0
enable
enable
- false
- $(NoWarn);$(WarningsNotAsErrors)
-
diff --git a/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs b/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs
index 7db52edd..75f98dd4 100644
--- a/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs
+++ b/BMA.EHR.Application/Repositories/Commands/CommandReportRepository.cs
@@ -99,11 +99,11 @@ namespace BMA.EHR.Application.Repositories.Commands
PositionLevel = p.posLevelName == null ? "" : p.posLevelName,
PositionType = p.posTypeName == null ? "" : p.posTypeName,
PositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
Salary = p.Amount == null ? "0" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
ExamNumber = p.ExamNumber == null ? "0" : p.ExamNumber.Value.ToString().ToThaiNumber(),
@@ -152,11 +152,11 @@ namespace BMA.EHR.Application.Repositories.Commands
PositionLevel = p.posLevelName == null ? "" : p.posLevelName,
PositionType = p.posTypeName == null ? "" : p.posTypeName,
PositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
Salary = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
ExamNumber = p.ExamNumber == null ? "" : p.ExamNumber.Value.ToString().ToThaiNumber(),
@@ -206,11 +206,11 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld,
OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld,
OldPositionNumber = p.posMasterNoOld == null ? "" :
- p.nodeOld == "4" ? $"{p.child4ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "3" ? $"{p.child3ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "2" ? $"{p.child2ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "1" ? $"{p.child1ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "0" ? $"{p.rootShortNameOld} {p.posMasterNoOld}".ToThaiNumber() : "",
+ p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "",
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
@@ -218,11 +218,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
RemarkHorizontal = p.RemarkHorizontal,
@@ -269,22 +269,22 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld,
OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld,
OldPositionNumber = p.posMasterNoOld == null ? "" :
- p.nodeOld == "4" ? $"{p.child4ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "3" ? $"{p.child3ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "2" ? $"{p.child2ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "1" ? $"{p.child1ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "0" ? $"{p.rootShortNameOld} {p.posMasterNoOld}".ToThaiNumber() : "",
+ p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "",
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
NewPositionName = p.positionName == null ? "" : p.positionName,
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber()
})
@@ -329,22 +329,22 @@ namespace BMA.EHR.Application.Repositories.Commands
OldPositionLevel = p.posLevelNameOld == null ? "" : p.posLevelNameOld,
OldPositionType = p.posTypeNameOld == null ? "" : p.posTypeNameOld,
OldPositionNumber = p.posMasterNoOld == null ? "" :
- p.nodeOld == "4" ? $"{p.child4ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "3" ? $"{p.child3ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "2" ? $"{p.child2ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "1" ? $"{p.child1ShortNameOld} {p.posMasterNoOld}".ToThaiNumber() :
- p.nodeOld == "0" ? $"{p.rootShortNameOld} {p.posMasterNoOld}".ToThaiNumber() : "",
+ p.nodeOld == "4" ? $"{p.child4ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "3" ? $"{p.child3ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "2" ? $"{p.child2ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "1" ? $"{p.child1ShortNameOld}{p.posMasterNoOld}".ToThaiNumber() :
+ p.nodeOld == "0" ? $"{p.rootShortNameOld}{p.posMasterNoOld}".ToThaiNumber() : "",
OldSalary = p.AmountOld == null ? "" : p.AmountOld.Value.ToNumericNoDecimalText().ToThaiNumber(),
NewOc = p.root == null ? "" : p.root,
NewPositionName = p.positionName == null ? "" : p.positionName,
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = p.Amount == null ? "" : p.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber()
})
@@ -407,11 +407,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason,
@@ -477,11 +477,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason,
@@ -750,11 +750,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
AppointDate = p.ReportingDate == null ? "" : p.ReportingDate.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason,
@@ -1173,11 +1173,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName.ToThaiNumber(),
// NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason,
})
@@ -1307,11 +1307,11 @@ namespace BMA.EHR.Application.Repositories.Commands
NewPositionLevel = p.posLevelName == null ? "" : p.posLevelName,
// NewPositionType = p.posTypeName == null ? "" : p.posTypeName,
NewPositionNumber = p.posMasterNo == null ? "" :
- p.node == 4 ? $"{p.child4ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 3 ? $"{p.child3ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 2 ? $"{p.child2ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 1 ? $"{p.child1ShortName} {p.posMasterNo}".ToThaiNumber() :
- p.node == 0 ? $"{p.rootShortName} {p.posMasterNo}".ToThaiNumber() : "",
+ p.node == 4 ? $"{p.child4ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 3 ? $"{p.child3ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 2 ? $"{p.child2ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 1 ? $"{p.child1ShortName}{p.posMasterNo}".ToThaiNumber() :
+ p.node == 0 ? $"{p.rootShortName}{p.posMasterNo}".ToThaiNumber() : "",
NewSalary = r.Amount == null ? "" : r.Amount.Value.ToNumericNoDecimalText().ToThaiNumber(),
Reason = p.Reason == null ? "-" : p.Reason,
})
diff --git a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
index d306b3e9..52e1a517 100644
--- a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
+++ b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs
@@ -919,7 +919,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -934,7 +934,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -986,7 +986,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1001,7 +1001,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -1423,7 +1423,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1440,7 +1440,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -1534,7 +1534,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1550,7 +1550,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -1603,7 +1603,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1832,7 +1832,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1849,7 +1849,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -1905,7 +1905,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1922,7 +1922,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -1978,7 +1978,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -1995,7 +1995,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2051,7 +2051,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2068,7 +2068,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2124,7 +2124,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2141,7 +2141,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2197,7 +2197,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2214,7 +2214,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2270,7 +2270,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2287,7 +2287,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2340,7 +2340,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2355,7 +2355,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var _client = new HttpClient())
{
_client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- _client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, _apiUrl);
var _res = await _client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
@@ -2409,7 +2409,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2462,7 +2462,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2515,7 +2515,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2568,7 +2568,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2621,7 +2621,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2673,7 +2673,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2725,7 +2725,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var res = await client.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
@@ -2994,7 +2994,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -3046,7 +3046,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
foreach (var edu in placementProfile.PlacementEducations)
{
var _res = await client.PostAsJsonAsync(apiUrlEdu, new
@@ -3083,7 +3083,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
foreach (var cer in placementProfile.PlacementCertificates)
{
var _res = await client.PostAsJsonAsync(apiUrlCer, new
@@ -3104,7 +3104,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
profileId = profileId,
@@ -3113,11 +3113,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = placementProfile.PositionSalaryAmount,
mouthSalaryAmount = placementProfile.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName == null ? string.Empty : placementProfile.positionName,
positionLine = string.Empty,
positionPathSide = string.Empty,
@@ -3135,7 +3135,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -3287,7 +3287,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -3297,11 +3297,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
@@ -3319,7 +3319,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -3468,7 +3468,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -3478,11 +3478,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
@@ -3500,7 +3500,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -3649,7 +3649,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -3659,11 +3659,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.positionName,
positionLine = "",
positionPathSide = "",
@@ -3681,7 +3681,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -3832,7 +3832,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -3842,11 +3842,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
@@ -3864,7 +3864,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -4017,7 +4017,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -4027,11 +4027,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
@@ -4049,7 +4049,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -4199,7 +4199,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -4209,11 +4209,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
@@ -4231,7 +4231,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -4382,7 +4382,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -4409,7 +4409,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlLeave);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrlLeave, new
@@ -4560,7 +4560,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -4587,7 +4587,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlLeave);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrlLeave, new
@@ -4928,7 +4928,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -5085,7 +5085,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -5262,7 +5262,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -5440,7 +5440,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -5450,11 +5450,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = placementProfile.posMasterNo == null ? "" :
- placementProfile.node == 4 ? $"{placementProfile.child4ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 3 ? $"{placementProfile.child3ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 2 ? $"{placementProfile.child2ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 1 ? $"{placementProfile.child1ShortName} {placementProfile.posMasterNo}" :
- placementProfile.node == 0 ? $"{placementProfile.rootShortName} {placementProfile.posMasterNo}" : "",
+ placementProfile.node == 4 ? $"{placementProfile.child4ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 3 ? $"{placementProfile.child3ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 2 ? $"{placementProfile.child2ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 1 ? $"{placementProfile.child1ShortName}{placementProfile.posMasterNo}" :
+ placementProfile.node == 0 ? $"{placementProfile.rootShortName}{placementProfile.posMasterNo}" : "",
position = placementProfile.position,
positionLine = "",
positionPathSide = "",
@@ -5472,7 +5472,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -5626,7 +5626,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -5805,7 +5805,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -5986,7 +5986,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -6001,7 +6001,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -6182,7 +6182,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -6197,7 +6197,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -6371,7 +6371,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -6452,7 +6452,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, _apiUrl);
var res = await client.PostAsJsonAsync(_apiUrl, new { result = dataSend });
var result = await res.Content.ReadAsStringAsync();
@@ -6549,7 +6549,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var _res = await client.PostAsJsonAsync(apiUrl, new
{
@@ -6630,7 +6630,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, _apiUrl);
var res = await client.PostAsJsonAsync(_apiUrl, new { result = dataSend });
var result = await res.Content.ReadAsStringAsync();
@@ -6719,7 +6719,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -6877,7 +6877,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -6887,11 +6887,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = data.posMasterNo == null ? "" :
- data.node == 4 ? $"{data.child4ShortName} {data.posMasterNo}" :
- data.node == 3 ? $"{data.child3ShortName} {data.posMasterNo}" :
- data.node == 2 ? $"{data.child2ShortName} {data.posMasterNo}" :
- data.node == 1 ? $"{data.child1ShortName} {data.posMasterNo}" :
- data.node == 0 ? $"{data.rootShortName} {data.posMasterNo}" : "",
+ data.node == 4 ? $"{data.child4ShortName}{data.posMasterNo}" :
+ data.node == 3 ? $"{data.child3ShortName}{data.posMasterNo}" :
+ data.node == 2 ? $"{data.child2ShortName}{data.posMasterNo}" :
+ data.node == 1 ? $"{data.child1ShortName}{data.posMasterNo}" :
+ data.node == 0 ? $"{data.rootShortName}{data.posMasterNo}" : "",
position = data.position,
positionType = data.posTypeName,
positionLevel = data.posLevelName,
@@ -6906,7 +6906,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -7062,7 +7062,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Put, apiUrl);
var _res = await client.PutAsJsonAsync(apiUrl, new
{
@@ -7215,7 +7215,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -7225,11 +7225,11 @@ namespace BMA.EHR.Application.Repositories.Commands
positionSalaryAmount = recv.PositionSalaryAmount,
mouthSalaryAmount = recv.MouthSalaryAmount,
posNo = data.posMasterNo == null ? "" :
- data.node == 4 ? $"{data.child4ShortName} {data.posMasterNo}" :
- data.node == 3 ? $"{data.child3ShortName} {data.posMasterNo}" :
- data.node == 2 ? $"{data.child2ShortName} {data.posMasterNo}" :
- data.node == 1 ? $"{data.child1ShortName} {data.posMasterNo}" :
- data.node == 0 ? $"{data.rootShortName} {data.posMasterNo}" : "",
+ data.node == 4 ? $"{data.child4ShortName}{data.posMasterNo}" :
+ data.node == 3 ? $"{data.child3ShortName}{data.posMasterNo}" :
+ data.node == 2 ? $"{data.child2ShortName}{data.posMasterNo}" :
+ data.node == 1 ? $"{data.child1ShortName}{data.posMasterNo}" :
+ data.node == 0 ? $"{data.rootShortName}{data.posMasterNo}" : "",
position = data.position,
positionType = data.posTypeName,
positionLevel = data.posLevelName,
@@ -7244,7 +7244,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlOrg);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
@@ -7385,7 +7385,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -7411,7 +7411,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -7544,7 +7544,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -7570,7 +7570,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -7704,7 +7704,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -7730,7 +7730,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -7864,7 +7864,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -7890,7 +7890,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -8024,7 +8024,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8050,7 +8050,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -8184,7 +8184,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8210,7 +8210,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -8344,7 +8344,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8370,7 +8370,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -8504,7 +8504,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8530,7 +8530,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl2);
var _res = await client.PostAsJsonAsync(apiUrl2, new
{
@@ -8663,7 +8663,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8806,7 +8806,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -8949,7 +8949,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -9091,7 +9091,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -9234,7 +9234,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
var res = await client.PostAsJsonAsync(apiUrl, new { result = data });
var result = await res.Content.ReadAsStringAsync();
@@ -9612,7 +9612,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrl);
string? _null = null;
var _res = await client.PostAsJsonAsync(apiUrl, new
@@ -9628,7 +9628,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Post, apiUrlSalary);
var _res = await client.PostAsJsonAsync(apiUrlSalary, new
{
@@ -11388,7 +11388,7 @@ namespace BMA.EHR.Application.Repositories.Commands
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
foreach (var insignia in Insignias)
{
var _res = await client.PostAsJsonAsync(apiUrlInsig, new
diff --git a/BMA.EHR.Application/Repositories/DisciplineRepository.cs b/BMA.EHR.Application/Repositories/DisciplineRepository.cs
index 1933a2ce..2f4461e8 100644
--- a/BMA.EHR.Application/Repositories/DisciplineRepository.cs
+++ b/BMA.EHR.Application/Repositories/DisciplineRepository.cs
@@ -49,7 +49,7 @@ namespace BMA.EHR.Application.Repositories
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
refId = cronjobNoti.DisciplineComplaint_Profiles.Select(x => x.PersonId),
@@ -91,7 +91,7 @@ namespace BMA.EHR.Application.Repositories
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
refId = cronjobNoti.DisciplineInvestigate_ProfileComplaints.Select(x => x.PersonId),
@@ -132,7 +132,7 @@ namespace BMA.EHR.Application.Repositories
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _res = await client.PostAsJsonAsync(apiUrlOrg, new
{
refId = cronjobNoti.DisciplineDisciplinary_ProfileComplaintInvestigates.Select(x => x.PersonId),
diff --git a/BMA.EHR.Application/Repositories/GenericRepository.cs b/BMA.EHR.Application/Repositories/GenericRepository.cs
index d825ccaf..1d562581 100644
--- a/BMA.EHR.Application/Repositories/GenericRepository.cs
+++ b/BMA.EHR.Application/Repositories/GenericRepository.cs
@@ -1,16 +1,15 @@
-using Amazon.Runtime.Internal.Endpoints.StandardLibrary;
-using Amazon.S3.Model.Internal.MarshallTransformations;
+using Amazon.S3.Model.Internal.MarshallTransformations;
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Domain.Models.Base;
using BMA.EHR.Domain.Models.HR;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.Configuration;
-using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
using System.Net.Http.Headers;
using System.Security.Claims;
using System.Text;
+using Microsoft.Extensions.Configuration;
namespace BMA.EHR.Application.Repositories
{
@@ -53,18 +52,15 @@ namespace BMA.EHR.Application.Repositories
#region " For Call External API "
- protected async Task GetExternalAPIAsync(string apiPath, string accessToken, string apiKey, CancellationToken cancellationToken = default)
+ protected async Task GetExternalAPIAsync(string apiPath, string accessToken, string apiKey)
{
try
{
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", apiKey);
- var _res = await client.GetAsync(apiPath,cancellationToken: combinedCts.Token);
+ client.DefaultRequestHeaders.Add("api_key", apiKey);
+ var _res = await client.GetAsync(apiPath);
if (_res.IsSuccessStatusCode)
{
var _result = await _res.Content.ReadAsStringAsync();
@@ -80,79 +76,10 @@ namespace BMA.EHR.Application.Repositories
}
}
- protected async Task SendExternalAPIAsync(HttpMethod method, string apiPath, string accessToken, object? body, string apiKey, CancellationToken cancellationToken = default)
+ protected async Task PostExternalAPIAsync(string apiPath, string accessToken, object? body, string apiKey)
{
try
{
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
- // สร้าง request message
- var request = new HttpRequestMessage(method, apiPath);
-
-
- var json = JsonConvert.SerializeObject(body);
- request.Content = new StringContent(json, Encoding.UTF8, "application/json");
-
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", apiKey);
- var _res = await client.SendAsync(request, combinedCts.Token);
- if (_res.IsSuccessStatusCode)
- {
- var _result = await _res.Content.ReadAsStringAsync();
-
- return _result;
- }
- return string.Empty;
- }
- }
- catch
- {
- throw;
- }
- }
-
-
- public async Task PostExternalAPIAsync(string apiPath, string accessToken, object? body, string apiKey, CancellationToken cancellationToken = default)
- {
- try
- {
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
- var json = JsonConvert.SerializeObject(body);
- var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
- //stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
-
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", apiKey);
- var _res = await client.PostAsync(apiPath, stringContent, combinedCts.Token);
- if (_res.IsSuccessStatusCode)
- {
- var _result = await _res.Content.ReadAsStringAsync();
-
- return _result;
- }
- return string.Empty;
- }
- }
- catch
- {
- throw;
- }
- }
-
- protected async Task PostExternalAPIBooleanAsync(string apiPath, string accessToken, object? body, string apiKey, CancellationToken cancellationToken = default)
- {
- try
- {
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
var json = JsonConvert.SerializeObject(body);
var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
@@ -160,8 +87,36 @@ namespace BMA.EHR.Application.Repositories
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", apiKey);
- var _res = await client.PostAsync(apiPath, stringContent, combinedCts.Token);
+ client.DefaultRequestHeaders.Add("api_key", apiKey);
+ var _res = await client.PostAsync(apiPath, stringContent);
+ if (_res.IsSuccessStatusCode)
+ {
+ var _result = await _res.Content.ReadAsStringAsync();
+
+ return _result;
+ }
+ return string.Empty;
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ protected async Task PostExternalAPIBooleanAsync(string apiPath, string accessToken, object? body, string apiKey)
+ {
+ try
+ {
+ var json = JsonConvert.SerializeObject(body);
+ var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
+ stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+ using (var client = new HttpClient())
+ {
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
+ client.DefaultRequestHeaders.Add("api_key", apiKey);
+ var _res = await client.PostAsync(apiPath, stringContent);
return _res.IsSuccessStatusCode;
}
}
diff --git a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
index 1c0741cb..f11ba201 100644
--- a/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
+++ b/BMA.EHR.Application/Repositories/InsigniaPeriodsRepository.cs
@@ -1,19 +1,16 @@
-using Amazon.S3.Model.Internal.MarshallTransformations;
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Application.Requests;
-using BMA.EHR.Application.Responses.Profiles;
-using BMA.EHR.Domain.Extensions;
using BMA.EHR.Domain.Models.Insignias;
using BMA.EHR.Domain.Models.MetaData;
using BMA.EHR.Domain.Models.OrganizationEmployee;
-using BMA.EHR.Domain.Models.Organizations;
using BMA.EHR.Domain.Shared;
-using GreatFriends.ThaiBahtText;
+using BMA.EHR.Domain.Extensions;
using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
-using Nest;
using Newtonsoft.Json;
+using BMA.EHR.Domain.Models.Organizations;
+using Amazon.S3.Model.Internal.MarshallTransformations;
+using BMA.EHR.Application.Responses.Profiles;
using ProfileInsignia = BMA.EHR.Domain.Models.HR.ProfileInsignia;
namespace BMA.EHR.Application.Repositories
@@ -151,17 +148,6 @@ namespace BMA.EHR.Application.Repositories
}
}
- private static bool IsHigherLevel(BMA.EHR.Application.Responses.Profiles.ProfileInsignia? last, string request)
- {
- if (last == null)
- return true;
- else
- {
- var last_ins = last.Insignia?.ToLower().Trim() ?? "";
- return IsHigherLevel(last_ins, request);
- }
- }
-
private static bool IsHigherLevel(string last, string request)
{
if (request.Contains("ตริตาภรณ์ช้างเผือก"))
@@ -280,8 +266,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -297,13 +283,12 @@ namespace BMA.EHR.Application.Repositories
: p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
- ProfileInsignia = p.ProfileInsignia,
Amount = p.Amount ?? 0,
RootId = p.RootId,
RootDnaId = p.RootDnaId,
@@ -320,12 +305,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
});
// check วันที่บรรจะต้องน้อยกว่า 29/5/ปี-8 ขอ บม.
@@ -389,13 +368,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้รับอัตราค่าจ้างตั้งแต่อัตราเงินเดือนขั้นต่ำของข้าราขการพลเรือนระดับปฏิบัติการ (8,340) แต่ไม่ถึงขั้นต่ำของอัตราเงินเดือนข้าราชการพลเรือนระดับชำนาญการ (15,050)",
Result = $"อัตราค่าจ้าง {p?.SalaryCondition?.ToString("#,##0")??""}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})).ToList();
var bcpRoyal = await _dbContext.Set()
@@ -406,85 +379,76 @@ namespace BMA.EHR.Application.Repositories
var jtmRoyal = await _dbContext.Set()
.FirstOrDefaultAsync(x => x.Name.Contains("จัตุรถาภรณ์มงกุฎไทย"));
- var s2_a = (from p in allProfilesByRoot
- where p.ProfileInsignia != null
- && p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id &&
- x.InsigniaId.Value == bcpRoyal.Id)
- .ToList()
- .Count() == 0)
- select new
- {
- ProfileId = p.Id,
- p.CitizenId,
- p.FirstName,
- p.LastName,
- p.BirthDate,
- p.DateAppoint,
- Prefix = p.Prefix ?? "",
- FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
- Position = p.Position ?? "",
- Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- PosNo = p.PosNo,
- PositionLevelId = p.PosLevelId,
- PositionLevelName = p.PosLevel,
- PositionTypeId = p.PosTypeId,
- PositionTypeName = p.PosType,
- Gender = p.Gender ?? "",
- PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
- Amount = p.Amount ?? 0,
- RootId = p.RootId,
- RootDnaId = p.RootDnaId,
- Root = p.Root,
- Child1Id = p.Child1Id,
- Child1DnaId = p.Child1DnaId,
- Child1 = p.Child1,
- Child2Id = p.Child2Id,
- Child2DnaId = p.Child2DnaId,
- Child2 = p.Child2,
- Child3Id = p.Child3Id,
- Child3DnaId = p.Child3DnaId,
- Child3 = p.Child3,
- Child4Id = p.Child4Id,
- Child4DnaId = p.Child4DnaId,
- Child4 = p.Child4,
- LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? null
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
- .Insignia,
- LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
- ? Guid.Parse("00000000-0000-0000-0000-000000000000")
- : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
- Salary = p.Amount,
- SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
- p.Amount,
- IsHigherLevel =
- IsHigherLevel(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id)
- .OrderByDescending(x => x.Year)
- .FirstOrDefault(),
- "เบญจมาภรณ์ช้างเผือก"),
- FirstRecvInsigniaYear = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault()?.Year,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
- })
- .ToList();
-
- var s2 = s2_a
+ var s2 = (from p in allProfilesByRoot
+ where p.ProfileInsignia != null
+ && p.ProfileInsignia.Count > 0
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
+ x.InsigniaId.Value == bcpRoyal.Id)
+ .ToList()
+ .Count() == 0)
+ select new
+ {
+ ProfileId = p.Id,
+ p.CitizenId,
+ p.FirstName,
+ p.LastName,
+ p.BirthDate,
+ p.DateAppoint,
+ Prefix = p.Prefix ?? "",
+ FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
+ Position = p.Position ?? "",
+ Rank = p.PosLevel ?? "",
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ PosNo = p.PosNo,
+ PositionLevelId = p.PosLevelId,
+ PositionLevelName = p.PosLevel,
+ PositionTypeId = p.PosTypeId,
+ PositionTypeName = p.PosType,
+ Gender = p.Gender ?? "",
+ PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
+ Amount = p.Amount ?? 0,
+ RootId = p.RootId,
+ RootDnaId = p.RootDnaId,
+ Root = p.Root,
+ Child1Id = p.Child1Id,
+ Child1DnaId = p.Child1DnaId,
+ Child1 = p.Child1,
+ Child2Id = p.Child2Id,
+ Child2DnaId = p.Child2DnaId,
+ Child2 = p.Child2,
+ Child3Id = p.Child3Id,
+ Child3DnaId = p.Child3DnaId,
+ Child3 = p.Child3,
+ Child4Id = p.Child4Id,
+ Child4DnaId = p.Child4DnaId,
+ Child4 = p.Child4,
+ LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? null
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!
+ .Insignia,
+ LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0
+ ? Guid.Parse("00000000-0000-0000-0000-000000000000")
+ : p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
+ Salary = p.Amount,
+ SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
+ p.Amount,
+ IsHigherLevel = IsHigherLevel(p.ProfileInsignia.ToList()
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
+ .OrderByDescending(x => x.Year)
+ .FirstOrDefault().Insignia,
+ "เบญจมาภรณ์ช้างเผือก"),
+ FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault() == null ? 0 :
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
+ })
+ .ToList()
.Where(x => (x.SalaryCondition >= 8340 && x.SalaryCondition < 10150) && !x.IsHigherLevel)
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
.Select(p => new InsigniaResultSet
@@ -541,13 +505,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้ บ.ม. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้รับ บ.ม. ก่อนวันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ บ.ม. ในปี {p.FirstRecvInsigniaYear}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -555,7 +513,7 @@ namespace BMA.EHR.Application.Repositories
var s3 = (from p in allProfilesByRoot
where p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id &&
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
x.InsigniaId.Value == jtmRoyal.Id)
.ToList()
.Count() == 0)
@@ -571,8 +529,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevel == null
? Guid.Parse("00000000-0000-0000-0000-000000000000")
@@ -590,21 +548,21 @@ namespace BMA.EHR.Application.Repositories
: p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
IsHigherLevel = IsHigherLevel(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id)
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"จัตุรถาภรณ์มงกุฎไทย"),
FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
.FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
Amount = p.Amount ?? 0,
RootId = p.RootId,
@@ -622,12 +580,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => (x.SalaryCondition >= 8340 && x.SalaryCondition < 10150) && !x.IsHigherLevel)
@@ -687,12 +639,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList();
@@ -794,8 +740,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -811,13 +757,12 @@ namespace BMA.EHR.Application.Repositories
: p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
- ProfileInsignia = p.ProfileInsignia,
Amount = p.Amount ?? 0,
RootId = p.RootId,
RootDnaId = p.RootDnaId,
@@ -834,12 +779,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
});
var s1 = ((from p in inst_profile
@@ -901,13 +840,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้รับอัตราค่าจ้างตั้งแต่อัตราเงินเดือนขั้นต่ำของข้าราขการพลเรือนระดับชำนาญการขึ้นไป (15,050)",
Result = $"อัตราค่าจ้าง {p?.SalaryCondition?.ToString("#,##0")??""}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})).ToList();
var bcpRoyal = await _dbContext.Set()
@@ -923,7 +856,7 @@ namespace BMA.EHR.Application.Repositories
var s2 = (from p in allProfilesByRoot
where p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id &&
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
x.InsigniaId.Value == jtmRoyal.Id)
.ToList()
.Count() == 0)
@@ -939,8 +872,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -956,21 +889,21 @@ namespace BMA.EHR.Application.Repositories
: p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
IsHigherLevel = IsHigherLevel(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id)
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"จัตุรถาภรณ์มงกุฎไทย"),
FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
.FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == bcpRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount ?? 0,
Amount = p.Amount ?? 0,
RootId = p.RootId,
@@ -988,12 +921,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => (x.SalaryCondition >= 10150) && !x.IsHigherLevel)
@@ -1052,20 +979,14 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้ บ.ช. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้รับ บ.ช. ก่อนวันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ บ.ช. ในปี {p.FirstRecvInsigniaYear}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
var s3 = (from p in allProfilesByRoot
where p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
- && (p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id &&
+ && (p.ProfileInsignia.Where(x => x.InsigniaId.Value != coinInsignia.Id &&
x.InsigniaId.Value == jtcRoyal.Id)
.ToList()
.Count() == 0)
@@ -1081,8 +1002,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -1098,21 +1019,21 @@ namespace BMA.EHR.Application.Repositories
: p.ProfileInsignia!.OrderByDescending(x => x.Year).FirstOrDefault()!.InsigniaId.Value,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
IsHigherLevel = IsHigherLevel(p.ProfileInsignia.ToList()
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != coinInsignia.Id)
+ .Where(x => x.InsigniaId.Value != coinInsignia.Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"จัตุรถาภรณ์ช้างเผือก"),
FirstRecvInsigniaYear = p.ProfileInsignia == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
.FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
- .FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == jtmRoyal.Id).OrderBy(x => x.Year)
+ .FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -1130,12 +1051,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => (x.SalaryCondition >= 10150) && !x.IsHigherLevel)
@@ -1194,13 +1109,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้ จ.ม. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้รับ จ.ม. ก่อนวันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ จ.ม. ในปี {p.FirstRecvInsigniaYear}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -1301,8 +1210,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo ?? "",
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -1311,24 +1220,24 @@ namespace BMA.EHR.Application.Repositories
Gender = p.Gender ?? "",
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
ProfileInsignia = p.ProfileInsignia,
PositionSalaryAmount = p.PositionSalaryAmount,
@@ -1348,12 +1257,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
});
// check วันที่บรรจะต้องน้อยกว่า 29/5/ปี-5
@@ -1411,13 +1314,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.รับราชการก่อน {new DateTime(period.Year - 5, 5, 29).ToThaiFullDate3()}",
Result = $"วันที่บรรจุเข้ารับราชการ {p.ProfileDateAppoint.ToThaiFullDate3()}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})).ToList();
var s2 = (from p in allProfilesByRoot
@@ -1426,9 +1323,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("เบญจมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -1443,28 +1339,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo ?? "",
Gender = p.Gender == null ? "" : p.Gender,
@@ -1473,9 +1369,9 @@ namespace BMA.EHR.Application.Repositories
PositionTypeId = p.PosTypeId,
PositionTypeName = p.PosType,
IsHigherLevel = IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"เบญจมาภรณ์ช้างเผือก"),
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
@@ -1494,12 +1390,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.SalaryCondition < 10190 && !x.IsHigherLevel)
@@ -1558,13 +1448,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ดำรงตำแหน่งมาแล้วไม่น้อยกว่า 10 ปี บริบูรณ์ (รับราชการก่อน {new DateTime(period.Year - 10, 5, 29).ToThaiFullDate3()})",
Result = $"วันที่บรรจุเข้ารับราชการ {p.ProfileDateAppoint.ToThaiFullDate3()}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -1574,9 +1458,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -1591,28 +1474,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo ?? "",
Gender = p.Gender == null ? "" : p.Gender,
@@ -1622,14 +1505,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"จัตุรถาภรณ์มงกุฎไทย"),
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
@@ -1648,12 +1531,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.SalaryCondition >= 10190 && !x.IsHigherLevel)
@@ -1705,13 +1582,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้รับเงินเดือนไม่ต่ำกว่าขั้นต่ำของระดับชำนาญงาน (เงินเดือน ณ วันที่ {(new DateTime(period.Year, 4, 29)).ToThaiFullDate3()} 10,190 บาทขึ้นไป)",
Result = $"ได้รับเงินเดือน {p.SalaryCondition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -1721,9 +1592,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("จัตุรถาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -1738,28 +1608,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo ?? "",
Gender = p.Gender == null ? "" : p.Gender,
@@ -1769,14 +1639,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"จัตุรถาภรณ์ช้างเผือก"),
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
@@ -1795,12 +1665,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.SalaryCondition >= 10190 && !x.IsHigherLevel)
@@ -1859,13 +1723,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ดำรงตำแหน่งมาแล้วไม่น้อยกว่า 10 ปี บริบูรณ์ (รับราชการก่อน {new DateTime(period.Year - 10, 5, 29).ToThaiFullDate3()})",
Result = $"วันที่บรรจุเข้ารับราชการ {p.ProfileDateAppoint.ToThaiFullDate3()}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -1975,9 +1833,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -1992,28 +1849,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2023,14 +1880,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ตริตาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2051,12 +1908,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -2106,13 +1957,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับชำนาญงาน",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -2122,9 +1967,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -2139,28 +1983,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2170,14 +2014,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ตริตาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2185,7 +2029,7 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญงาน").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -2203,12 +2047,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstPositonLevelDate < new DateTime(period.Year - 5, 5, 29))
@@ -2261,13 +2099,7 @@ namespace BMA.EHR.Application.Repositories
Result =
$"ดำรงตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel} ตั้งแต่วันที่ {(p.FirstPositonLevelDate == null ? "-" : p.FirstPositonLevelDate.Value.ToThaiFullDate3())}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -2341,9 +2173,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -2358,28 +2189,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2389,14 +2220,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2404,7 +2235,7 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -2422,12 +2253,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -2477,13 +2302,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับอาวุโส",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -2493,9 +2312,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -2510,28 +2328,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2541,14 +2359,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2556,7 +2374,7 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -2574,12 +2392,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstPositonLevelDate < new DateTime(period.Year - 5, 5, 29))
@@ -2632,13 +2444,7 @@ namespace BMA.EHR.Application.Repositories
Result =
$"ดำรงตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel} ตั้งแต่วันที่ {(p.FirstPositonLevelDate == null ? "-" : p.FirstPositonLevelDate.Value.ToThaiFullDate3())}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -2713,9 +2519,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -2730,28 +2535,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2761,14 +2566,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2776,7 +2581,7 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -2794,12 +2599,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -2849,13 +2648,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับทักษะพิเศษ",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -2866,9 +2659,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -2883,28 +2675,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -2914,14 +2706,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -2929,14 +2721,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -2954,12 +2746,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
@@ -3011,13 +2797,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ท.ช. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้รับ ท.ช. ก่อนวันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -3028,9 +2808,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -3045,28 +2824,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -3076,14 +2855,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -3091,14 +2870,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -3116,12 +2895,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 5)
@@ -3173,13 +2946,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ม. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้รับ ป.ม. ก่อนวันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ ป.ม. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -3275,9 +3042,8 @@ namespace BMA.EHR.Application.Repositories
where p.PosType == "วิชาการ"
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -3292,28 +3058,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -3323,14 +3089,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ตริตาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -3338,14 +3104,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -3363,12 +3129,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -3418,13 +3178,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.รับราชการก่อน {new DateTime(period.Year - 5, 5, 29).ToThaiFullDate3()}",
Result = $"วันที่บรรจุเข้ารับราชการ {p.ProfileDateAppoint.ToThaiFullDate3()}"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -3481,9 +3235,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ตริตาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -3498,28 +3251,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -3529,14 +3282,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ตริตาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -3544,14 +3297,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -3569,12 +3322,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -3624,13 +3371,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับชำนาญการ",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -3640,9 +3381,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -3657,28 +3397,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -3688,14 +3428,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -3703,14 +3443,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -3728,12 +3468,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.SalaryCondition >= 22140)
@@ -3786,13 +3520,7 @@ namespace BMA.EHR.Application.Repositories
Result =
$"เงินเดือน ณ วันที่ {(new DateTime(period.Year, 4, 29)).ToThaiFullDate3()} เป็นเงิน {p.SalaryCondition} บาท"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -3802,9 +3530,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -3819,28 +3546,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year - 5, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -3850,14 +3577,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -3865,14 +3592,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -3890,12 +3617,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.SalaryCondition >= 22140)
@@ -3948,13 +3669,7 @@ namespace BMA.EHR.Application.Repositories
Result =
$"เงินเดือนก่อนวันที่ {(new DateTime(period.Year - 5, 4, 29)).ToThaiFullDate3()} เป็นเงิน {p.SalaryCondition} บาท"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4048,9 +3763,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -4065,28 +3779,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -4096,14 +3810,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -4111,14 +3825,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -4136,12 +3850,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -4174,13 +3882,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับชำนาญการพิเศษ",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4190,9 +3892,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -4207,28 +3908,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -4238,14 +3939,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
@@ -4254,14 +3955,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ชำนาญการพิเศษ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -4279,12 +3980,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.SalaryCondition >= 58390)
@@ -4344,13 +4039,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้ ท.ช. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้ ท.ช. วันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4425,9 +4114,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -4442,28 +4130,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -4473,14 +4161,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -4488,14 +4176,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -4513,12 +4201,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -4568,13 +4250,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับเชี่ยวชาญ",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4585,9 +4261,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -4602,28 +4277,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -4633,14 +4308,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
@@ -4649,14 +4324,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -4674,12 +4349,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -4731,13 +4400,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ท.ช. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้ ท.ช. ก่อนวันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4747,9 +4410,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -4764,28 +4426,28 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -4795,14 +4457,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -4810,14 +4472,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "เชี่ยวชาญ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -4835,12 +4497,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -4892,13 +4548,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ม. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้ ท.ช. ก่อนวันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()})",
Result = $"ได้รับ ป.ม. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -4991,9 +4641,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -5008,29 +4657,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -5040,14 +4689,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -5055,14 +4704,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -5080,12 +4729,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
@@ -5143,13 +4786,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 13,000 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -5159,9 +4796,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.ToList()
.Count() == 0)
select new
@@ -5176,29 +4812,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo == null ? "" : p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -5208,14 +4844,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาวชิรมงกุฎ"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -5223,14 +4859,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -5248,12 +4884,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -5311,13 +4941,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 13,000 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -5327,9 +4951,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -5344,29 +4967,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
@@ -5377,14 +5000,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาปรมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
@@ -5393,12 +5016,12 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -5416,13 +5039,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
-
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -5480,13 +5096,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 13,000 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -5577,9 +5187,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -5594,29 +5203,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -5626,14 +5235,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -5641,14 +5250,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -5666,12 +5275,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(x => x.FirstRecvInsigniaYear != 0 && x.FirstRecvInsigniaYear <= period.Year - 3)
@@ -5729,13 +5332,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 15,600 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -5745,9 +5342,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.ToList()
.Count() == 0)
select new
@@ -5762,29 +5358,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -5794,14 +5390,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาวชิรมงกุฎ"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -5809,14 +5405,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "อาวุโส").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -5834,12 +5430,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -5897,13 +5487,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 15,600 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -5913,9 +5497,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -5930,29 +5513,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -5962,14 +5545,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาปรมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -5977,12 +5560,12 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
.FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ทรงคุณวุฒิ").OrderBy(p => p.Date)
- .FirstOrDefault()?.Date,
+ .FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6000,12 +5583,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -6063,13 +5640,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 15,600 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -6159,9 +5730,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -6176,29 +5746,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo == null ? "" : p.PosNo,
Gender = p.Gender == null ? "" : p.Gender,
@@ -6208,14 +5778,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ทวีติยาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -6223,12 +5793,12 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6246,12 +5816,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Select(p => new InsigniaResultSet
@@ -6301,13 +5865,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"1.เป็นระดับอำนวยการ/ต้น",
Result = $"ตำแหน่ง {p.Position} ประเภท {p.PositionType} ระดับ {p.PositionLevel}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -6317,9 +5875,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -6334,29 +5891,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? "" : p.Gender,
@@ -6366,14 +5923,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -6381,14 +5938,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6406,12 +5963,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.SalaryCondition >= 58390)
@@ -6471,13 +6022,7 @@ namespace BMA.EHR.Application.Repositories
$"2.ได้ ท.ช. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้ ท.ช. วันที่ {(new DateTime(period.Year - 5, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -6546,9 +6091,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -6563,29 +6107,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? "" : p.Gender,
@@ -6595,14 +6139,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -6610,14 +6154,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6635,12 +6179,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -6692,13 +6230,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ท.ช. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้ ท.ช. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -6708,9 +6240,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -6725,29 +6256,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? "" : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? "" : p.Gender,
@@ -6757,14 +6288,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -6772,14 +6303,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6797,12 +6328,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -6854,13 +6379,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ม. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้ ป.ม. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ป.ม. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -6871,9 +6390,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.ToList()
.Count() == 0)
select new
@@ -6888,29 +6406,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? "" : p.Gender,
@@ -6920,14 +6438,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาวชิรมงกุฎ"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -6935,14 +6453,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "อำนวยการ")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -6960,12 +6478,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -7017,13 +6529,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ช. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้ ป.ช. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ป.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7113,9 +6619,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.ToList()
.Count() == 0)
select new
@@ -7130,29 +6635,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -7162,14 +6667,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์มงกุฎไทย"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -7177,14 +6682,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ทวีติยาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -7202,12 +6707,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -7259,13 +6758,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ท.ช. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้ ท.ช. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ท.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7275,9 +6768,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -7292,29 +6784,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -7324,14 +6816,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -7339,14 +6831,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -7364,12 +6856,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -7421,13 +6907,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ม. มาแล้วไม่น้อยกว่า 3 ปี บริบูรณ์ (ได้ ป.ม. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ป.ม. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7437,9 +6917,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.ToList()
.Count() == 0)
select new
@@ -7454,29 +6933,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -7486,14 +6965,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาวชิรมงกุฎ"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -7501,14 +6980,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "ต้น" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -7526,12 +7005,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -7583,13 +7056,7 @@ namespace BMA.EHR.Application.Repositories
$"1.ได้ ป.ช. มาแล้วไม่น้อยกว่า 5 ปี บริบูรณ์ (ได้ ป.ช. วันที่ {(new DateTime(period.Year - 3, 7, 28)).ToThaiFullDate3()} หรือก่อนหน้านั้น)",
Result = $"ได้รับ ป.ช. ในปี {p.FirstRecvInsigniaYear.Value.ToThaiYear()}"
},
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7650,9 +7117,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -7667,29 +7133,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -7699,14 +7165,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"ประถมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -7714,14 +7180,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์มงกุฎไทย").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -7739,12 +7205,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -7802,13 +7262,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 14,500 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7818,9 +7272,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.ToList()
.Count() == 0)
select new
@@ -7835,29 +7288,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -7867,14 +7320,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาวชิรมงกุฎ"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -7882,14 +7335,14 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ .Where(x => x.InsigniaId.Value == GetInsigniaByName("ประถมาภรณ์ช้างเผือก").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -7907,12 +7360,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 3)
@@ -7970,13 +7417,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 14,500 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -7986,9 +7427,8 @@ namespace BMA.EHR.Application.Repositories
&& p.ProfileInsignia != null
&& p.ProfileInsignia.Count > 0
&& (p.ProfileInsignia.Where(x =>
- x.InsigniaId.HasValue &&
- x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id &&
- x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก")?.Id)
+ x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id &&
+ x.InsigniaId.Value == GetInsigniaByName("มหาปรมาภรณ์ช้างเผือก").Id)
.ToList()
.Count() == 0)
select new
@@ -8003,29 +7443,29 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix == null ? null : p.Prefix)}{p.FirstName} {p.LastName}",
Position = p.Position == null ? null : p.Position,
Rank = p.PosLevel ?? "",
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
- ProfileDateAppoint = p.DateAppoint!.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryPosition = p.PositionSalaryAmount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PosNo = p.PosNo,
Gender = p.Gender == null ? null : p.Gender,
@@ -8035,14 +7475,14 @@ namespace BMA.EHR.Application.Repositories
PositionTypeName = p.PosType,
IsHigherLevel =
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null
? true
: IsHigherLevel(p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value !=
- GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value !=
+ GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.OrderByDescending(x => x.Year)
- .FirstOrDefault(),
+ .FirstOrDefault().Insignia,
"มหาปรมาภรณ์ช้างเผือก"),
PositionLevel = p.PosLevel == null ? "" : p.PosLevel,
PositionType = p.PosType == null ? "" : p.PosType,
@@ -8050,12 +7490,12 @@ namespace BMA.EHR.Application.Repositories
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
.OrderBy(p => p.Date).FirstOrDefault() == null ? null :
p.ProfileSalary.Where(x => x.PositionLevel == "สูง" && x.PositionType == "บริหาร")
- .OrderBy(p => p.Date).FirstOrDefault()?.Date,
+ .OrderBy(p => p.Date).FirstOrDefault().Date,
FirstRecvInsigniaYear = p.ProfileInsignia.Count == 0 ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
.OrderBy(x => x.Year).FirstOrDefault() == null ? 0 :
- p.ProfileInsignia.Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ")?.Id)
- .OrderBy(x => x.Year).FirstOrDefault()?.Year,
+ p.ProfileInsignia.Where(x => x.InsigniaId.Value == GetInsigniaByName("มหาวชิรมงกุฎ").Id)
+ .OrderBy(x => x.Year).FirstOrDefault().Year,
PositionSalaryAmount = p.PositionSalaryAmount,
Amount = p.Amount,
RootId = p.RootId,
@@ -8073,12 +7513,6 @@ namespace BMA.EHR.Application.Repositories
Child4Id = p.Child4Id,
Child4DnaId = p.Child4DnaId,
Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
})
.ToList()
.Where(p => p.FirstRecvInsigniaYear != 0 && p.FirstRecvInsigniaYear <= period.Year - 5)
@@ -8136,13 +7570,7 @@ namespace BMA.EHR.Application.Repositories
Condition = $"ได้รับเงินประจำตำแหน่ง 14,500 บาท",
Result = $"ได้รับเงินประจำตำแหน่ง {p.SalaryPosition} บาท"
}
- },
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
+ }
})
.ToList();
@@ -8193,219 +7621,6 @@ namespace BMA.EHR.Application.Repositories
#region " Public "
- ///
- /// ประมวลผลรายชื่อผู้ได้รับเครื่องราชย์ของแต่ละหน่วยงาน
- ///
- /// รหัสรอบการขอ
- /// รหัสหน่วยงาน
- /// officer or employee
- /// ผลการคำนวนการขอพระราชทานเครื่องราชย์
- public async Task> GetInsigniaCandidateBKKByTypeAsync(Guid periodId, Guid ocId, string type = "officer")
- {
- try
- {
- var result_candidate = new List();
-
- var period = await _dbContext.Set().Include(x => x.InsigniaEmployees).FirstOrDefaultAsync(p => p.Id == periodId);
- if (period == null)
- {
- throw new Exception(GlobalMessages.InsigniaPeriodNotFound);
- }
-
- if (type.ToLower().Trim() == "officer")
- {
- var allOfficerProfilesByRoot = (await _userProfileRepository.GetOfficerProfileByRootIdAsync(ocId, AccessToken));
- if (allOfficerProfilesByRoot != null)
- {
- // calculate ตามแต่ละชั้น
- var type_coin = allOfficerProfilesByRoot.Count() > 0 ? await GetCoinCandidate(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type1_level1 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type1_Level1(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type1_level2 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type1_Level2(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type1_level3 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type1_Level3(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type1_level4 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type1_Level4(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level5 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level5(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level6 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level6(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level7 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level7(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level8 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level8(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level9_1 =
- allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level9_1(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type2_level9_2 =
- allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type2_Level9_2(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type3_level10 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type3_Level10(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type3_level11 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type3_Level11(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type4_level10 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type4_Level10(periodId, ocId, allOfficerProfilesByRoot) : new List();
- var type4_level11 = allOfficerProfilesByRoot.Count() > 0 ? await GetInsigniaCandidate_Type4_Level11(periodId, ocId, allOfficerProfilesByRoot) : new List();
-
-
- // union result
- foreach (var r in type_coin)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type4_level11)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type4_level10)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type3_level11)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type3_level10)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level9_2)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level9_1)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level8)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level7)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level6)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type2_level5)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type1_level4)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type1_level3)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type1_level2)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in type1_level1)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- // ย้ายที่ตามที่ มอสแจ้ง
- if (period.Round != 1)
- {
- var insigniaIdList = await _dbContext.Set()
- .Include(x => x.InsigniaType)
- .Where(x => x.InsigniaType!.Name == "ชั้นสายสะพาย")
- .Select(x => x.Id)
- .ToListAsync();
-
-
- result_candidate = result_candidate.Where(x => insigniaIdList.Contains(x.RequestInsignia.Id)).ToList();
- }
- }
- }
- else if (type.ToLower().Trim() == "employee")
- {
- var allEmployeeProfileByRoot = new List();
- if (period != null && period.InsigniaEmployees != null)
- {
- allEmployeeProfileByRoot = (await _userProfileRepository.GetEmployeeProfileByPositionAsync(ocId, period.InsigniaEmployees.Select(x => x.RefId!.ValueOrBlank()).ToArray(), AccessToken));
- }
-
- if (allEmployeeProfileByRoot != null)
- {
- var type_coin = allEmployeeProfileByRoot.Count() > 0 ? await GetCoinCandidate(periodId, ocId, allEmployeeProfileByRoot) : new List();
-
- var employee_type1 = allEmployeeProfileByRoot.Count() > 0 ? await GetEmployeeInsignia_Type1(periodId, ocId, allEmployeeProfileByRoot) : new List();
- var employee_type2 = allEmployeeProfileByRoot.Count() > 0 ? await GetEmployeeInsignia_Type2(periodId, ocId, allEmployeeProfileByRoot) : new List();
-
- // union result
- foreach (var r in type_coin)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in employee_type2)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
-
- foreach (var r in employee_type1)
- {
- var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
- if (old == null)
- result_candidate.Add(r);
- }
- }
- }
- else
- throw new Exception(GlobalMessages.CalculateTypeNotValid);
-
- return result_candidate.OrderBy(x => x.Seq).ThenBy(x => x.Gender).ThenBy(x => x.ProfileId).ToList();
- }
- catch
- {
- throw;
- }
- }
-
///
/// ประมวลผลรายชื่อผู้ได้รับเครื่องราชย์ของแต่ละหน่วยงาน
///
@@ -8425,7 +7640,7 @@ namespace BMA.EHR.Application.Repositories
if (period != null && period.InsigniaEmployees != null)
{
allEmployeeProfileByRoot =
- (await _userProfileRepository.GetEmployeeProfileByPositionAsync(ocId, period.InsigniaEmployees.Select(x => x.RefId!.ValueOrBlank()).ToArray(), AccessToken));
+ (await _userProfileRepository.GetEmployeeProfileByPositionAsync(ocId, period.InsigniaEmployees.Select(x => x.RefId), AccessToken));
}
var type_coin = allOfficerProfilesByRoot.Count() > 0 ? await GetCoinCandidate(periodId, ocId, allOfficerProfilesByRoot) : new List();
@@ -8556,19 +7771,6 @@ namespace BMA.EHR.Application.Repositories
result_candidate.Add(r);
}
- // ย้ายที่ตามที่ มอสแจ้ง
- if (period.Round != 1)
- {
- var insigniaIdList = await _dbContext.Set()
- .Include(x => x.InsigniaType)
- .Where(x => x.InsigniaType!.Name == "ชั้นสายสะพาย")
- .Select(x => x.Id)
- .ToListAsync();
-
-
- result_candidate = result_candidate.Where(x => insigniaIdList.Contains(x.RequestInsignia.Id)).ToList();
- }
-
foreach (var r in employee_type2)
{
var old = result_candidate.FirstOrDefault(x => x.ProfileId == r.ProfileId);
@@ -8591,8 +7793,6 @@ namespace BMA.EHR.Application.Repositories
// result_candidate.Add(r);
//}
-
-
return result_candidate.OrderBy(x => x.Seq).ThenBy(x => x.Gender).ThenBy(x => x.ProfileId).ToList();
}
catch
@@ -8612,7 +7812,7 @@ namespace BMA.EHR.Application.Repositories
if (period == null)
throw new Exception(GlobalMessages.CoinPeriodNotFound);
- var inst_profile = allProfilesByRoot.Where(x => x.DateAppoint.HasValue && x.DateAppoint != null)
+ var inst_profile = allProfilesByRoot.Where(x => x.DateAppoint != null)
.Select(p => new
{
ProfileId = p.Id,
@@ -8625,8 +7825,8 @@ namespace BMA.EHR.Application.Repositories
FullName = $"{(p.Prefix ?? "")}{p.FirstName} {p.LastName}",
Position = p.Position ?? "",
Rank = p.PosLevel ?? "",
- ProfileDateAppoint = p.DateAppoint!.Value,
- GovAge = p.DateStart!.Value.CalculateGovAgeStr(0, 0),
+ ProfileDateAppoint = p.DateAppoint.Value,
+ GovAge = p.DateAppoint.Value.CalculateGovAgeStr(0, 0),
PosNo = p.PosNo,
PositionLevelId = p.PosLevelId,
PositionLevelName = p.PosLevel,
@@ -8635,49 +7835,26 @@ namespace BMA.EHR.Application.Repositories
Gender = p.Gender ?? "",
LastInsignia = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? "" :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.Insignia,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().Insignia,
LastInsigniaId = p.ProfileInsignia == null || p.ProfileInsignia.Count == 0 ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
.FirstOrDefault() == null ? Guid.Empty :
p.ProfileInsignia
- .Where(x => x.InsigniaId.HasValue && x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา")?.Id)
- .OrderByDescending(x => x.Year).FirstOrDefault()?.InsigniaId,
+ .Where(x => x.InsigniaId.Value != GetInsigniaByName("เหรียญจักรพรรดิมาลา").Id)
+ .OrderByDescending(x => x.Year).FirstOrDefault().InsigniaId,
Salary = p.Amount,
SalaryCondition = p.ProfileSalary == null || p.ProfileSalary.Count == 0 ? 0 :
- p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
+ p.ProfileSalary.Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
.OrderByDescending(x => x.Order).FirstOrDefault() != null ? p.ProfileSalary
- .Where(x => x.Date != null).Where(x => x.Date.HasValue && x.Date.Value <= new DateTime(period.Year, 4, 29))
- .OrderByDescending(x => x.Order).FirstOrDefault()?.Amount :
+ .Where(x => x.Date != null).Where(x => x.Date.Value <= new DateTime(period.Year, 4, 29))
+ .OrderByDescending(x => x.Order).FirstOrDefault().Amount :
p.Amount,
PositionSalaryAmount = p.PositionSalaryAmount,
- ProfileInsignia = p.ProfileInsignia,
- Amount = p.Amount,
- RootId = p.RootId,
- RootDnaId = p.RootDnaId,
- Root = p.Root,
- Child1Id = p.Child1Id,
- Child1DnaId = p.Child1DnaId,
- Child1 = p.Child1,
- Child2Id = p.Child2Id,
- Child2DnaId = p.Child2DnaId,
- Child2 = p.Child2,
- Child3Id = p.Child3Id,
- Child3DnaId = p.Child3DnaId,
- Child3 = p.Child3,
- Child4Id = p.Child4Id,
- Child4DnaId = p.Child4DnaId,
- Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
});
// check วันที่บรรจะต้องมากกว่า 25 ปี
@@ -8709,31 +7886,6 @@ namespace BMA.EHR.Application.Repositories
Seq = 1,
Gender = p.Gender,
MatchingConditions = new List(),
-
-
- Amount = p.Amount,
- RootId = p.RootId,
- RootDnaId = p.RootDnaId,
- Root = p.Root,
- Child1Id = p.Child1Id,
- Child1DnaId = p.Child1DnaId,
- Child1 = p.Child1,
- Child2Id = p.Child2Id,
- Child2DnaId = p.Child2DnaId,
- Child2 = p.Child2,
- Child3Id = p.Child3Id,
- Child3DnaId = p.Child3DnaId,
- Child3 = p.Child3,
- Child4Id = p.Child4Id,
- Child4DnaId = p.Child4DnaId,
- Child4 = p.Child4,
- ProfileType = p.ProfileType,
-
- MarkDiscipline = p.MarkDiscipline,
- MarkInsignia = p.MarkInsignia,
- MarkLeave = p.MarkLeave,
- MarkRate = p.MarkRate
-
})).ToList();
var result_candidate = new List();
@@ -8764,9 +7916,6 @@ namespace BMA.EHR.Application.Repositories
}
}
-
-
-
#endregion
#region " From Ming "
@@ -8800,23 +7949,6 @@ namespace BMA.EHR.Application.Repositories
}
}
- public async Task GetRequestIdByTypeAsync(Guid period, Guid ocId, string type = "officer")
- {
- try
- {
- var req = await _dbContext.Set()
- .Where(x => x.OrganizationId != null)
- .FirstOrDefaultAsync(x => x.Period.Id == period && x.OrganizationId == ocId && x.ProfileType.ToLower() == type.ToLower());
- if (req == null)
- return null;
- return req.Id;
- }
- catch
- {
- throw;
- }
- }
-
// Save Aprove
public async Task SaveAprove(Guid period, Guid ocId)
{
@@ -8843,31 +7975,6 @@ namespace BMA.EHR.Application.Repositories
}
}
- public async Task SaveApproveByTypeAsync(Guid period, Guid ocId, string type = "officer")
- {
- try
- {
- var req = await GetRequestIdByTypeAsync(period, ocId, type);
-
- if (req != null)
- {
- var insigniaRequestProfiles = await _dbContext.Set()
- .Where(x => x.Request.Id == req)
- .ToListAsync();
- foreach (var insigniaRequestProfile in insigniaRequestProfiles)
- {
- insigniaRequestProfile.IsApprove = true;
- }
- }
-
- await _dbContext.SaveChangesAsync();
- }
- catch
- {
- throw;
- }
- }
-
// เช็คข้อมูล ใน table insignia_request_new
public async Task GetInsigniaRequest(Guid id, Guid ocId)
{
@@ -8917,60 +8024,12 @@ namespace BMA.EHR.Application.Repositories
}
}
- public async Task GetInsigniaRequestByTypeAsync(Guid id, Guid ocId, string type = "officer")
- {
- try
- {
- var period = await _dbContext.Set()
- .Select(p => new
- {
- Id = p.Id,
- Name = p.Name,
- Round = p.Round,
- Year = p.Year,
- IsLock = p.IsLock,
- })
- .FirstOrDefaultAsync(x => x.Id == id);
-
- if (period == null)
- return null;
- else
- {
- var request = await _dbContext.Set()
- .Include(x => x.Document)
- .FirstOrDefaultAsync(x => x.Period.Id == period.Id && x.OrganizationId == ocId && x.ProfileType.ToLower() == type.ToLower());
-
- return new InsigniaResults
- {
- PeriodId = period.Id,
- Year = period.Year,
- Round = period.Round,
- Name = period.Name,
- IsLock = period.IsLock,
- RequestId = request == null ? null : request.Id,
- RequestNote = request == null ? "" : request.RequestNote,
- RequestStatus = request == null ? null : request.RequestStatus,
- OrganizationName = request == null ? "" : request.Organization,
- Document = request == null
- ? null
- : (request.Document == null
- ? null
- : await _documentService.ImagesPath(request.Document.Id)),
- };
- }
- }
- catch
- {
- throw;
- }
- }
-
// Get Data Table insignai_has_profile
- public async Task> InsigniaHasProfile(Guid period, Guid ocId, string status, string type = "officer")
+ public async Task> InsigniaHasProfile(Guid period, Guid ocId, string status)
{
try
{
- var id = await GetRequestIdByTypeAsync(period, ocId, type);
+ var id = await GetRequestId(period, ocId);
if (id != null)
{
var raw_result = _dbContext.Set()
@@ -9007,7 +8066,6 @@ namespace BMA.EHR.Application.Repositories
MarkDiscipline = h.MarkDiscipline,
MarkLeave = h.MarkLeave,
MarkRate = h.MarkRate,
- MarkInsignia = h.MarkInsignia,
MatchingConditions = h.MatchingConditions == null || h.MatchingConditions == ""
? null
: JsonConvert.DeserializeObject>(h.MatchingConditions)
@@ -9120,109 +8178,14 @@ namespace BMA.EHR.Application.Repositories
// }
// insert candidate list
-
- public async Task UpdateCandidateAsync(Guid periodId, Guid ocId, string oc, List items, string type = "officer")
+ public async Task InsertCandidate(Guid periodId, Guid ocId, string oc, List items)
{
try
{
var period = await _dbContext.Set().FirstOrDefaultAsync(p => p.Id == periodId);
if (period == null)
- throw new Exception(GlobalMessages.InsigniaPeriodNotFound);
-
- var req = await _dbContext.Set()
- .Include(x => x.RequestProfiles)
- .Include(x => x.Period)
- .Where(x => x.Period.Id == periodId)
- .Where(x => x.OrganizationId == ocId)
- .Where(x => x.ProfileType.ToLower() == type.ToLower())
- .FirstOrDefaultAsync();
-
- if (req != null)
- {
- foreach (var item in items)
- {
- var reqInsignia = await _dbContext.Set()
- .FirstOrDefaultAsync(i => i.Id == item.RequestInsignia.Id);
-
- if (reqInsignia == null) throw new Exception(GlobalMessages.InsigniaNotFound);
-
- var pf = req.RequestProfiles.FirstOrDefault(x => x.ProfileId == item.ProfileId);
- if (pf != null) continue; // มีอยู่แล้วข้ามไป
-
- req.RequestProfiles.Add(new InsigniaRequestProfile
- {
- Status = "PENDING",
- ProfileId = item.ProfileId,
- RequestInsignia = reqInsignia,
- Salary = item.Salary,
- RequestDate = DateTime.Now,
- MatchingConditions =
- System.Text.Json.JsonSerializer.Serialize(item.MatchingConditions),
- CreatedFullName = FullName ?? "System Administrator",
- CreatedUserId = UserId ?? "",
- CreatedAt = DateTime.Now,
- LastUpdateFullName = FullName ?? "System Administrator",
- LastUpdateUserId = UserId ?? "",
- LastUpdatedAt = DateTime.Now,
-
- // Add Information for reused in API Call
- ProfileType = item.ProfileType != null && item.ProfileType != "" ? item.ProfileType.ToLower() : "officer",
- Prefix = item.Prefix,
- FirstName = item.FirstName,
- LastName = item.LastName,
- CitizenId = item.CitizenId,
- BirthDate = item.BirthDate,
- DateAppoint = item.DateAppoint,
- Position = item.Position,
- Gender = item.Gender,
- PosTypeName = item.PosTypeName,
- PosLevelName = item.PosLevelName,
- PosNo = item.PosNo,
- Amount = item.Salary,
- PositionSalaryAmount = item.PositionSalary,
- LastInsigniaName = item.LastInsignia,
- Root = item.Root,
- RootId = item.RootId,
- RootDnaId = item.RootDnaId,
- Child1 = item.Child1,
- Child1Id = item.Child1Id,
- Child1DnaId = item.Child1DnaId,
- Child2 = item.Child2,
- Child2Id = item.Child2Id,
- Child2DnaId = item.Child2DnaId,
- Child3 = item.Child3,
- Child3Id = item.Child3Id,
- Child3DnaId = item.Child3DnaId,
- Child4 = item.Child4,
- Child4Id = item.Child4Id,
- Child4DnaId = item.Child4DnaId,
-
- MarkDiscipline = item.MarkDiscipline,
- MarkInsignia = item.MarkInsignia,
- MarkLeave = item.MarkLeave,
- MarkRate = item.MarkRate
- });
- }
-
- await _dbContext.SaveChangesAsync();
- }
- }
- catch
- {
- throw;
- }
- }
-
-
- public async Task InsertCandidate(Guid periodId, Guid ocId, string oc, List items, string type = "officer")
- {
- try
- {
- var period = await _dbContext.Set().FirstOrDefaultAsync(p => p.Id == periodId);
-
- if (period == null)
- throw new Exception(GlobalMessages.InsigniaPeriodNotFound);
+ throw new Exception(GlobalMessages.CoinPeriodNotFound);
var periodOlds = await _dbContext.Set().Where(p => p.Year == period.Year).ToListAsync();
foreach (var periodOld in periodOlds)
@@ -9250,7 +8213,6 @@ namespace BMA.EHR.Application.Repositories
LastUpdateFullName = FullName ?? "System Administrator",
LastUpdateUserId = UserId ?? "",
LastUpdatedAt = DateTime.Now,
- ProfileType = type
};
foreach (var item in items)
@@ -9277,7 +8239,7 @@ namespace BMA.EHR.Application.Repositories
LastUpdatedAt = DateTime.Now,
// Add Information for reused in API Call
- ProfileType = item.ProfileType != null && item.ProfileType != "" ? item.ProfileType.ToLower() : "officer",
+ ProfileType = item.ProfileType ?? "officer",
Prefix = item.Prefix,
FirstName = item.FirstName,
LastName = item.LastName,
@@ -9307,11 +8269,6 @@ namespace BMA.EHR.Application.Repositories
Child4 = item.Child4,
Child4Id = item.Child4Id,
Child4DnaId = item.Child4DnaId,
-
- MarkDiscipline = item.MarkDiscipline,
- MarkInsignia = item.MarkInsignia,
- MarkLeave = item.MarkLeave,
- MarkRate = item.MarkRate
});
}
@@ -9324,53 +8281,6 @@ namespace BMA.EHR.Application.Repositories
}
}
- public async Task UpdateInsigniaRequestProfile(string[] items, string type)
- {
- try
- {
- var allProfiles = await _userProfileRepository.GetInsigniaRequestsProfileAsync(items, type, AccessToken);
-
- if (allProfiles != null && allProfiles.Count > 0)
- {
- var insigniaRequestProfiles = await _dbContext.Set()
- .Where(x => allProfiles.Select(x => x.Id).ToList().Contains(x.ProfileId))
- .ToListAsync();
-
- foreach (var insigniaRequestProfile in insigniaRequestProfiles)
- {
- var profile = allProfiles.FirstOrDefault(p => p.Id == insigniaRequestProfile.ProfileId);
-
- if (profile != null)
- {
- insigniaRequestProfile.MarkDiscipline = profile?.MarkDiscipline;
- insigniaRequestProfile.MarkLeave = profile?.MarkLeave;
- insigniaRequestProfile.MarkRate = profile?.MarkRate;
- insigniaRequestProfile.MarkInsignia = profile?.MarkInsignia;
- insigniaRequestProfile.APR1 = profile?.APR1;
- insigniaRequestProfile.APR2 = profile?.APR2;
- insigniaRequestProfile.APR3 = profile?.APR3;
- insigniaRequestProfile.APR4 = profile?.APR4;
- insigniaRequestProfile.APR5 = profile?.APR5;
- insigniaRequestProfile.OCT1 = profile?.OCT1;
- insigniaRequestProfile.OCT2 = profile?.OCT2;
- insigniaRequestProfile.OCT3 = profile?.OCT3;
- insigniaRequestProfile.OCT4 = profile?.OCT4;
- insigniaRequestProfile.OCT5 = profile?.OCT5;
- insigniaRequestProfile.LastUpdateFullName = FullName ?? "System Administrator";
- insigniaRequestProfile.LastUpdateUserId = UserId ?? "";
- insigniaRequestProfile.LastUpdatedAt = DateTime.Now;
- }
- }
- }
-
- await _dbContext.SaveChangesAsync();
-
- }
- catch
- {
- throw;
- }
- }
#endregion
}
}
\ No newline at end of file
diff --git a/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs b/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs
index 2e550d71..5fbbb8a1 100644
--- a/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs
+++ b/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs
@@ -2,11 +2,8 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
-using Newtonsoft.Json;
using System.IO.Pipes;
-using System.Net.Http.Headers;
using System.Security.Claims;
-using System.Text;
namespace BMA.EHR.Application.Repositories.Leaves
{
@@ -46,38 +43,6 @@ namespace BMA.EHR.Application.Repositories.Leaves
#region " Methods "
- public async Task PostExternalAPIAsync(string apiPath, string accessToken, object? body, string apiKey, CancellationToken cancellationToken = default)
- {
- try
- {
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
- var json = JsonConvert.SerializeObject(body);
- var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
- //stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
-
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", apiKey);
- var _res = await client.PostAsync(apiPath, stringContent, combinedCts.Token);
- if (_res.IsSuccessStatusCode)
- {
- var _result = await _res.Content.ReadAsStringAsync();
-
- return _result;
- }
- return string.Empty;
- }
- }
- catch
- {
- throw;
- }
- }
-
-
public virtual async Task> GetAllAsync()
{
return await _dbSet.ToListAsync();
@@ -103,24 +68,6 @@ namespace BMA.EHR.Application.Repositories.Leaves
return entity;
}
- public virtual async Task> AddRangeAsync(List entities)
- {
- foreach (var entity in entities)
- {
- if (entity is EntityBase)
- {
- (entity as EntityBase).CreatedUserId = UserId ?? "";
- (entity as EntityBase).CreatedFullName = FullName ?? "System Administrator";
- (entity as EntityBase).CreatedAt = DateTime.Now;
- }
- }
-
- await _dbSet.AddRangeAsync(entities);
- await _dbContext.SaveChangesAsync();
-
- return entities;
- }
-
public virtual async Task UpdateAsync(T entity)
{
if (entity is EntityBase)
diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs
deleted file mode 100644
index add1361b..00000000
--- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveBeginingRepository.cs
+++ /dev/null
@@ -1,587 +0,0 @@
-using Amazon.S3.Model;
-using BMA.EHR.Application.Common.Interfaces;
-using BMA.EHR.Application.Messaging;
-using BMA.EHR.Application.Responses.Profiles;
-using BMA.EHR.Domain.Extensions;
-using BMA.EHR.Domain.Models.Leave.Commons;
-using BMA.EHR.Domain.Models.Leave.Requests;
-using BMA.EHR.Domain.Shared;
-using Microsoft.AspNetCore.Http;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.Configuration;
-using System.Collections.Concurrent;
-
-namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
-{
- public class LeaveBeginningRepository : GenericLeaveRepository
- {
- #region " Fields "
-
- private readonly ILeaveDbContext _dbContext;
- private readonly IHttpContextAccessor _httpContextAccessor;
- private readonly OrganizationCommonRepository _organizationCommonRepository;
- private readonly UserProfileRepository _userProfileRepository;
- private readonly IConfiguration _configuration;
- private readonly EmailSenderService _emailSenderService;
-
- ///
- /// Keyed locks to serialize get-or-create for LeaveBeginning rows by (ProfileId, LeaveYear, LeaveTypeId).
- /// Prevents duplicate inserts when concurrent requests (e.g. UI calling /user/check twice) hit the same key.
- ///
- private static readonly ConcurrentDictionary _getOrAddLocks = new();
-
- #endregion
-
- #region " Constructor and Destuctor "
-
- public LeaveBeginningRepository(ILeaveDbContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- OrganizationCommonRepository organizationCommonRepository,
- UserProfileRepository userProfileRepository,
- IConfiguration configuration,
- EmailSenderService emailSenderService) : base(dbContext, httpContextAccessor)
- {
- _dbContext = dbContext;
- _httpContextAccessor = httpContextAccessor;
- _organizationCommonRepository = organizationCommonRepository;
- _userProfileRepository = userProfileRepository;
- _configuration = configuration;
- _emailSenderService = emailSenderService;
- }
-
- #endregion
-
- #region " Properties "
-
- protected Guid UserOrganizationId
- {
- get
- {
- if (UserId != null || UserId != "")
- return _userProfileRepository.GetUserOCId(Guid.Parse(UserId!), AccessToken);
- else
- return Guid.Empty;
- }
- }
-
- #endregion
-
- public async Task> GetAllByYearAsync(int year)
- {
- return await _dbContext.Set()
- .Include(x => x.LeaveType)
- .Where(x => x.LeaveYear == year)
- .ToListAsync();
- }
-
- public async Task GetByYearAndTypeIdAsync(int year, Guid typeId)
- {
- var data = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId);
-
-
- return data;
- }
-
- public async Task UpdateLeaveUsageAsync(int year, Guid typeId, Guid userId, double day)
- {
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
- if (pf == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- var data = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- if (data == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
- data.LeaveDaysUsed += day;
-
- await _dbContext.SaveChangesAsync();
- }
-
- public async Task UpdateLeaveCountAsync(int year, Guid typeId, Guid userId, int count)
- {
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
- if (pf == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- var data = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- if (data == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
- data.LeaveCount += count;
-
- await _dbContext.SaveChangesAsync();
- }
-
- public async Task ProcessEarlyLeaveRequest(int year)
- {
- // Get Early Leave Request (กรองตามปีงบประมาณ: 1 ต.ค. (year-1) – 30 ก.ย. (year))
- var fiscalStart = new DateTime(year - 1, 10, 1);
- var fiscalEnd = new DateTime(year, 9, 30);
-
- var leaveReq = await _dbContext.Set()
- .Include(x => x.Type)
- .Where(x => x.LeaveStatus == "APPROVE")
- .Where(x => x.LeaveStartDate.Date <= fiscalEnd && x.LeaveEndDate.Date >= fiscalStart)
- .ToListAsync();
-
- foreach (var leave in leaveReq)
- {
- await GetByYearAndTypeIdForUserWithUpdateAsync(year, leave.Type.Id, leave.KeycloakUserId);
- }
- }
-
- public async Task ProcessEarlyLeaveRequestSchedule()
- {
- int year = DateTime.Now.Year;
- await ProcessEarlyLeaveRequest(year);
- }
-
- public async Task GetByYearAndTypeIdForUserAsync(int year, Guid typeId, Guid userId)
- {
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
- if (pf == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
-
- var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId);
-
- LeaveBeginning Factory()
- {
- var limit = 0.0;
-
- var prev = _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- // คำนวณปีงบประมาณจาก startDate (ปีงบประมาณเริ่ม 1 ต.ค. และสิ้นสุด 30 ก.ย.)
- var isCurrentYear = DateTime.Now.Year == year;
-
-
- var prevRemain = 0.0;
- if (prev != null)
- {
- prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0;
- }
-
- if (govAge >= 180)
- {
- if (govAge >= 3650)
- {
- limit = 10 + prevRemain;
- if (limit > 30) limit = 30;
- }
- else
- {
- limit = 10 + prevRemain;
- if (limit > 20) limit = 20;
- }
- }
- else
- {
- limit = 0.0;
- }
-
- return new LeaveBeginning
- {
- LeaveYear = year,
- LeaveTypeId = typeId,
- ProfileId = pf.Id,
- Prefix = pf.Prefix,
- FirstName = pf.FirstName,
- LastName = pf.LastName,
- LeaveDaysUsed = 0,
- LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
- RootDnaId = pf.RootDnaId,
- Child1DnaId = pf.Child1DnaId,
- Child2DnaId = pf.Child2DnaId,
- Child3DnaId = pf.Child3DnaId,
- Child4DnaId = pf.Child4DnaId
- };
- }
-
- return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory);
- }
-
- public async Task GetByYearAndTypeIdForUserWithUpdateAsync(int year, Guid typeId, Guid userId)
- {
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
- if (pf == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
-
- var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId);
-
-
- var limit = 0.0;
-
- var prev = _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- var prevRemain = 0.0;
-
-
-
- if (prev != null)
- {
- prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0);
- }
-
- if (govAge >= 180)
- {
- if (govAge >= 3650)
- {
- limit = 10 + prevRemain;
- if (limit > 30) limit = 30;
- }
- else
- {
- limit = 10 + prevRemain;
- if (limit > 20) limit = 20;
- }
- }
- else
- {
- limit = 0.0;
- }
-
- var data = await _dbContext.Set()
- .Where(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == pf.Id)
- .FirstOrDefaultAsync();
-
- if (data != null)
- {
- data.LeaveDays = leaveType?.Code == "LV-005" ? limit : 0;
- await _dbContext.SaveChangesAsync();
- }
-
- // return new LeaveBeginning
- // {
- // LeaveYear = year,
- // LeaveTypeId = typeId,
- // ProfileId = pf.Id,
- // Prefix = pf.Prefix,
- // FirstName = pf.FirstName,
- // LastName = pf.LastName,
- // LeaveDaysUsed = 0,
- // LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
- // RootDnaId = pf.RootDnaId,
- // Child1DnaId = pf.Child1DnaId,
- // Child2DnaId = pf.Child2DnaId,
- // Child3DnaId = pf.Child3DnaId,
- // Child4DnaId = pf.Child4DnaId
- // };
- return data;
-
- }
-
-
- public async Task GetByYearAndTypeIdForUser(int year, Guid typeId, GetProfileByKeycloakIdDto? pf)
- {
- var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
-
- var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId);
-
- LeaveBeginning Factory()
- {
- var limit = 0.0;
-
- var prev = _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- // คำนวณปีงบประมาณจาก startDate (ปีงบประมาณเริ่ม 1 ต.ค. และสิ้นสุด 30 ก.ย.)
- var isCurrentYear = DateTime.Now.Year == year;
-
- var prevRemain = 0.0;
- if (prev != null)
- {
- prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0;
- }
-
- if (govAge >= 180)
- {
- if (govAge >= 3650)
- {
- limit = 10 + prevRemain;
- if (limit > 30) limit = 30;
- }
- else
- {
- limit = 10 + prevRemain;
- if (limit > 20) limit = 20;
- }
- }
- else
- {
- limit = 0.0;
- }
-
- return new LeaveBeginning
- {
- LeaveYear = year,
- LeaveTypeId = typeId,
- ProfileId = pf.Id,
- Prefix = pf.Prefix,
- FirstName = pf.FirstName,
- LastName = pf.LastName,
- LeaveDaysUsed = 0,
- LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
- RootDnaId = pf.RootDnaId,
- Child1DnaId = pf.Child1DnaId,
- Child2DnaId = pf.Child2DnaId,
- Child3DnaId = pf.Child3DnaId,
- Child4DnaId = pf.Child4DnaId
- };
- }
-
- return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory);
- }
-
- public async Task GetByYearAndTypeIdForUser2Async(int year, Guid typeId, Guid userId)
- {
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
- if (pf == null)
- {
- return null;
- }
-
- var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
-
- var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId);
-
- LeaveBeginning Factory()
- {
- var limit = 0.0;
-
- var prev = _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefault(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- // คำนวณปีงบประมาณจาก startDate (ปีงบประมาณเริ่ม 1 ต.ค. และสิ้นสุด 30 ก.ย.)
- var isCurrentYear = DateTime.Now.Year == year;
-
- var prevRemain = 0.0;
- if (prev != null)
- {
- prevRemain = isCurrentYear ? prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0) : 0.0;
- }
-
- if (govAge >= 180)
- {
- if (govAge >= 3650)
- {
- limit = 10 + prevRemain;
- if (limit > 30) limit = 30;
- }
- else
- {
- limit = 10 + prevRemain;
- if (limit > 20) limit = 20;
- }
- }
- else
- {
- limit = 0.0;
- }
-
- return new LeaveBeginning
- {
- LeaveYear = year,
- LeaveTypeId = typeId,
- ProfileId = pf.Id,
- Prefix = pf.Prefix,
- FirstName = pf.FirstName,
- LastName = pf.LastName,
- LeaveDaysUsed = 0,
- LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
- RootDnaId = pf.RootDnaId,
- Child1DnaId = pf.Child1DnaId,
- Child2DnaId = pf.Child2DnaId,
- Child3DnaId = pf.Child3DnaId,
- Child4DnaId = pf.Child4DnaId
- };
- }
-
- return await GetOrAddForUserAsync(year, typeId, pf.Id, Factory);
- }
-
- ///
- /// Get-or-create a LeaveBeginning row for (ProfileId, LeaveYear, LeaveTypeId) with concurrency protection.
- /// Uses a keyed SemaphoreSlim to serialize within-process requests, and re-queries after acquiring the lock.
- /// If a cross-process insert wins (unique index violation), the duplicate key exception is caught and the row
- /// created by the winner is returned.
- ///
- private async Task GetOrAddForUserAsync(int year, Guid typeId, Guid profileId, Func factory)
- {
- var key = $"{profileId}_{year}_{typeId}";
- var semaphore = _getOrAddLocks.GetOrAdd(key, _ => new SemaphoreSlim(1, 1));
- await semaphore.WaitAsync();
- try
- {
- // Re-query inside the lock — another thread may have created it while we waited.
- var existing = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == profileId);
- if (existing != null)
- {
- return existing;
- }
-
- var entity = factory();
- _dbContext.Set().Add(entity);
- try
- {
- await _dbContext.SaveChangesAsync();
- return entity;
- }
- catch (DbUpdateException)
- {
- // Cross-process/cross-server race hit the unique index (IX_LeaveBeginnings_ProfileId_LeaveYear_LeaveTypeId).
- // Detach the failed insert and return the row created by the winner.
- _dbContext.Detach(entity);
- var winner = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year && x.LeaveTypeId == typeId && x.ProfileId == profileId);
- return winner;
- }
- }
- finally
- {
- semaphore.Release();
- }
- }
-
- public async Task> GetAllByYearAndTypeAsync(int year, Guid typeId, List userIdList)
- {
-
- var updateList = new List();
- var result = new List();
-
- var beginningList = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .Where(x => x.LeaveYear == year && x.LeaveTypeId == typeId)
- .ToListAsync();
-
- foreach (var pf in userIdList)
- {
- //var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(id, AccessToken);
- //if (pf == null)
- //{
- // continue; // Goto Next Id
- //}
-
- var profile = await _userProfileRepository.GetProfileByProfileIdAsync(pf.Id, AccessToken);
- if (profile == null)
- {
- return null;
- }
-
- var govAge = (pf?.DateStart?.Date ?? DateTime.Now.Date).DiffDay(DateTime.Now.Date);
-
- var leaveType = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == typeId);
-
- var data = beginningList.FirstOrDefault(x => x.ProfileId == pf.Id);
-
- if (data == null)
- {
- var limit = 0.0;
-
- var prev = await _dbContext.Set()
- .Include(x => x.LeaveType)
- .FirstOrDefaultAsync(x => x.LeaveYear == year - 1 && x.LeaveTypeId == typeId && x.ProfileId == pf.Id);
-
- var prevRemain = 0.0;
- if (prev != null)
- {
- prevRemain = prev.LeaveDays - (prev.LeaveDaysUsed ?? 0.0);
- }
-
- if (govAge >= 180)
- {
- if (govAge >= 3650)
- {
- limit = 10 + prevRemain;
- if (limit > 30) limit = 30;
- }
- else
- {
- limit = 10 + prevRemain;
- if (limit > 20) limit = 20;
- }
- }
- else
- {
- limit = 0.0;
- }
-
- data = new LeaveBeginning
- {
- LeaveYear = year,
- LeaveTypeId = typeId,
- ProfileId = pf.Id,
- Prefix = pf.Prefix,
- FirstName = pf.FirstName,
- LastName = pf.LastName,
- LeaveDaysUsed = 0,
- LeaveDays = leaveType?.Code == "LV-005" ? limit : 0,
- RootDnaId = profile.RootDnaId,
- Child1DnaId = profile.Child1DnaId,
- Child2DnaId = profile.Child2DnaId,
- Child3DnaId = profile.Child3DnaId,
- Child4DnaId = profile.Child4DnaId
- };
-
- updateList.Add(data);
- }
- result.Add(data);
- }
- if (!updateList.Any())
- {
- await _dbContext.Set().AddRangeAsync(updateList);
- await _dbContext.SaveChangesAsync();
- }
- return result;
- }
- }
-
- public class ProfileData
- {
- public Guid Id { get; set; } = Guid.Empty;
-
- public string Prefix { get; set; } = string.Empty;
-
- public string FirstName { get; set; } = string.Empty;
-
- public string LastName { get; set; } = string.Empty;
-
- public DateTime? DateStart { get; set; } = null;
-
- public DateTime? DateAppoint { get; set; } = null;
- }
-}
diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs
index 6363e258..bdd93692 100644
--- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs
+++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs
@@ -1,6 +1,10 @@
-using BMA.EHR.Application.Common.Interfaces;
+using System.Drawing;
+using System.Net.Http.Headers;
+using System.Net.Http.Json;
+using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Application.Messaging;
using BMA.EHR.Application.Responses.Leaves;
+using BMA.EHR.Domain.Models.HR;
using BMA.EHR.Domain.Models.Leave.Commons;
using BMA.EHR.Domain.Models.Leave.Requests;
using BMA.EHR.Domain.Models.Notifications;
@@ -8,11 +12,6 @@ using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
-using System.IO.Compression;
-using System.Net.Http.Headers;
-using System.Net.Http.Json;
-using BMA.EHR.Application.Repositories.Leaves.TimeAttendants;
-using BMA.EHR.Domain.Models.Leave.TimeAttendants;
namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
{
@@ -28,12 +27,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
private readonly EmailSenderService _emailSenderService;
private readonly IApplicationDBContext _appDbContext;
- private readonly MinIOLeaveService _minIOService;
-
- private readonly LeaveBeginningRepository _leaveBeginningRepository;
- private readonly ProcessUserTimeStampRepository _processUserTimeStampRepository;
-
- private readonly string URL = string.Empty;
#endregion
@@ -45,10 +38,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
UserProfileRepository userProfileRepository,
IConfiguration configuration,
EmailSenderService emailSenderService,
- IApplicationDBContext appDbContext,
- MinIOLeaveService minIOService,
- LeaveBeginningRepository leaveBeginningRepository,
- ProcessUserTimeStampRepository processUserTimeStampRepository) : base(dbContext, httpContextAccessor)
+ IApplicationDBContext appDbContext) : base(dbContext, httpContextAccessor)
{
_dbContext = dbContext;
_httpContextAccessor = httpContextAccessor;
@@ -57,12 +47,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
_configuration = configuration;
_emailSenderService = emailSenderService;
_appDbContext = appDbContext;
-
- URL = (_configuration["VITE_URL_MGT"]).Replace("/api/v1", "");
- Console.WriteLine($"URL : {URL}");
- _minIOService = minIOService;
- _leaveBeginningRepository = leaveBeginningRepository;
- _processUserTimeStampRepository = processUserTimeStampRepository;
}
#endregion
@@ -90,7 +74,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
{
var data = await _dbContext.Set().AsQueryable()
//.AsNoTracking()
- .Include(x => x.Approvers)
.Include(x => x.LeaveDocument)
.ThenInclude(x => x.Document)
.Include(x => x.LeaveDraftDocument)
@@ -103,11 +86,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
public override async Task GetByIdAsync(Guid id)
{
- try
- {
- var data = await _dbContext.Set().AsQueryable()
+ var data = await _dbContext.Set().AsQueryable()
.AsNoTracking()
- .Include(x => x.Approvers)
.Include(x => x.LeaveDocument)
.ThenInclude(x => x.Document)
.Include(x => x.LeaveDraftDocument)
@@ -115,13 +95,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Include(x => x.Type)
.FirstOrDefaultAsync(x => x.Id == id);
- return data;
- }
- catch
- {
- throw;
- }
-
+ return data;
}
public override async Task AddAsync(LeaveRequest entity)
@@ -209,70 +183,10 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
#endregion
- public async Task AddLeaveDocumentAsync(Guid id, LeaveDocument doc)
+ public async Task> GetLeaveRequestByYearAsync(int year)
{
- try
- {
- var req = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == id);
- req!.LeaveDocument.Add(doc);
- await _dbContext.SaveChangesAsync();
- }
- catch
- {
- throw;
- }
- }
-
- public async Task AddApproversAsync(Guid id, List approvers)
- {
- try
- {
- var req = await _dbContext.Set().FirstOrDefaultAsync(x => x.Id == id);
- req!.Approvers.AddRange(approvers);
- await _dbContext.SaveChangesAsync();
- }
- catch
- {
- throw;
- }
- }
-
- public async Task RemoveApproversAsync(Guid id, string type)
- {
- try
- {
- var data = await _dbContext.Set()
- .Where(x => x.LeaveRequest.Id == id && x.ApproveType.ToUpper() == type.ToUpper())
- .ToListAsync();
-
- _dbContext.Set().RemoveRange(data);
-
- await _dbContext.SaveChangesAsync();
- }
- catch
- {
- throw;
- }
- }
-
-
- public async Task> GetLeaveRequestByYearAsync(int year, Guid userId)
- {
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken);
-
- if (profile == null)
- {
- throw new Exception("ไม่พบข้อมูลผู้ใช้งานในระบบทะเบียนประวัติ!!");
- }
-
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
- .Where(x => x.RootId == profile.RootId &&
- x.Child1Id == profile.Child1Id &&
- x.Child2Id == profile.Child2Id &&
- x.Child3Id == profile.Child3Id &&
- x.Child4Id == profile.Child4Id)
.Where(x => x.LeaveStartDate.Year == year)
.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
.ToListAsync();
@@ -280,57 +194,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return data;
}
- public async Task> GetLeaveRequestByYearForAdminAsync(int year, string role, string? nodeId, int? node)
- {
- var rawData = _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE");
- //.ToListAsync();
- if (year != 0)
- {
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
- rawData = rawData.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate);
- }
-
- if (role == "OWNER")
- {
- node = null;
- }
- if (role == "OWNER" || role == "CHILD")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
- }
- else if (role == "BROTHER")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
- }
- else if (role == "ROOT")
- {
- rawData = rawData
- .Where(x => x.RootDnaId == Guid.Parse(nodeId!));
- }
- // else if (role == "PARENT")
- // {
- // rawData = rawData
- // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null);
- // }
- else if (role == "NORMAL")
- {
- rawData = rawData
- .Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true);
- }
-
- return await rawData.ToListAsync();
- }
-
public async Task> GetLeaveRequestByUserIdAsync(Guid keycloakUserId, int year, Guid type, string status)
{
var rawData = _dbContext.Set().AsQueryable().AsNoTracking()
@@ -338,12 +201,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Where(x => x.KeycloakUserId == keycloakUserId);
if (year != 0)
- {
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
- rawData = rawData.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate);
- }
- //rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
+ rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
if (type != Guid.Empty)
rawData = rawData.Where(x => x.Type.Id == type);
@@ -359,100 +217,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
var rawData = _dbContext.Set().AsNoTracking()
.Include(x => x.Type)
.Where(x => x.LeaveStatus != "DRAFT")
- .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
- .AsQueryable();
-
- if (year != 0)
- rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
-
- if (type != Guid.Empty)
- rawData = rawData.Where(x => x.Type.Id == type);
-
- if (status.Trim().ToUpper() != "ALL")
- rawData = rawData.Where(x => x.LeaveStatus == status);
-
- if (startDate != DateTime.MinValue)
- rawData = rawData.Where(x => x.LeaveStartDate >= startDate);
-
- if (endDate != DateTime.MinValue)
- rawData = rawData.Where(x => x.LeaveEndDate <= endDate);
-
- return await rawData.ToListAsync();
- }
-
- public async Task> GetListLeaveRequestForAdminAsync(int year, Guid type, string status, DateTime startDate, DateTime endDate, string role, string? nodeId, int? node)
- {
- var rawData = _dbContext.Set().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.LeaveStatus != "DRAFT")
- .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
- .AsQueryable();
- // fix issue : 1830
- if (year != 0)
- {
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
- rawData = rawData.Where(x => x.LeaveStartDate >= startFiscalDate && x.LeaveStartDate <= endFiscalDate);
- }
-
- if (type != Guid.Empty)
- rawData = rawData.Where(x => x.Type.Id == type);
-
- if (status.Trim().ToUpper() != "ALL")
- rawData = rawData.Where(x => x.LeaveStatus == status);
-
- if (startDate != DateTime.MinValue)
- rawData = rawData.Where(x => x.LeaveStartDate >= startDate);
-
- if (endDate != DateTime.MinValue)
- rawData = rawData.Where(x => x.LeaveEndDate <= endDate);
-
- if (role == "OWNER")
- {
- node = null;
- }
- if (role == "OWNER" || role == "CHILD")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
- }
- else if (role == "BROTHER")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
- }
- else if (role == "ROOT")
- {
- rawData = rawData
- .Where(x => x.RootDnaId == Guid.Parse(nodeId!));
- }
- // else if (role == "PARENT")
- // {
- // rawData = rawData
- // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null);
- // }
- else if (role == "NORMAL")
- {
- rawData = rawData
- .Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true);
- }
-
-
- return await rawData.ToListAsync();
- }
-
- public async Task> GetLeaveRequestForAdminWithAuthAsync(int year, Guid type, string status, DateTime startDate, DateTime endDate, List keycloakIdList)
- {
- var rawData = _dbContext.Set().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => keycloakIdList.Contains(x.KeycloakUserId))
- .Where(x => x.LeaveStatus != "DRAFT")
- .OrderByDescending(x =>(x.DateSendLeave ?? x.CreatedAt))
+ .OrderByDescending(x => x.CreatedAt)
.AsQueryable();
if (year != 0)
@@ -475,10 +240,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
public async Task GetRestDayTotalByYearForUserAsync(Guid keycloakUserId, int year)
{
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
-
-
var leaveType = await _dbContext.Set().AsQueryable().AsNoTracking()
.FirstOrDefaultAsync(l => l.Code.Trim().ToUpper() == "LV-005");
@@ -491,9 +252,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveType.Id)
- //.Where(x => x.LeaveStartDate.Year == year)
- .Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStartDate.Year == year)
+ .Where(x => x.LeaveStatus == "APPROVE")
.Sum(x => x.LeaveTotal);
return data;
@@ -501,33 +261,16 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
public async Task GetSumLeaveByTypeForUserAsync(Guid keycloakUserId, Guid leaveTypeId, int year)
{
- // var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(keycloakUserId, AccessToken);
- var pf = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(keycloakUserId, AccessToken);
- if (pf == null)
- throw new Exception(GlobalMessages.DataNotFound);
-
- var beginningLeave = await _dbContext.Set().AsNoTracking()
- .Where(x => x.ProfileId == pf.Id)
- .Where(x => x.LeaveYear == year)
- .Where(x => x.LeaveTypeId == leaveTypeId)
- .FirstOrDefaultAsync();
-
-
-
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
-
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
- //.Where(x => x.LeaveStartDate.Year == year)
- .Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStartDate.Year == year)
+ .Where(x => x.LeaveStatus == "APPROVE")
//.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
.ToListAsync();
- return data.Sum(x => x.LeaveTotal) + (beginningLeave == null ? 0 : (beginningLeave.LeaveDaysUsed ?? 0.0));
+ return data.Sum(x => x.LeaveTotal);
}
//public async Task GetSumApproveLeaveByTypeForUserAsync(Guid keycloakUserId, Guid leaveTypeId, int year)
@@ -549,7 +292,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
//.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
.OrderByDescending(x => x.LeaveStartDate.Date)
.Select(x => x.LeaveStartDate.Date)
@@ -558,15 +301,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return data;
}
- public async Task GetLastLeaveRequestByTypeForUserAsync(Guid keycloakUserId, Guid leaveTypeId, DateTime beforeDate)
+ public async Task GetLastLeaveRequestByTypeForUserAsync(Guid keycloakUserId, Guid leaveTypeId)
{
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
- .Where(x => x.LeaveStartDate.Date < beforeDate.Date)
- //.Where(x => x.CreatedAt < beforeDate)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
//.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
.OrderByDescending(x => x.LeaveStartDate.Date)
.FirstOrDefaultAsync();
@@ -574,37 +315,15 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return data;
}
- public async Task GetLastLeaveRequestByTypeForUserAsync2(Guid keycloakUserId, Guid leaveTypeId, DateTime beforeDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- //.Where(x => x.LeaveStartDate.Date < beforeDate.Date)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < beforeDate)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- //.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
- .OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
- .FirstOrDefaultAsync();
-
- return data;
- }
-
- public async Task> GetCancelLeaveRequestForAdminAsync(int year, Guid type, string status, string role, string? nodeId, int? node)
+ public async Task> GetCancelLeaveRequestForAdminAsync(int year, Guid type, string status)
{
var rawData = _dbContext.Set().AsNoTracking()
.Include(x => x.Type)
- .Where(x => x.LeaveStatus == "DELETE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "DELETE")
.AsQueryable();
- // if (year != 0)
- // rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
if (year != 0)
- {
- var startFiscalDate = new DateTime(year - 1, 10, 1);
- var endFiscalDate = new DateTime(year, 9, 30);
- rawData = rawData.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate);
- }
+ rawData = rawData.Where(x => x.LeaveStartDate.Year == year);
if (type != Guid.Empty)
rawData = rawData.Where(x => x.Type.Id == type);
@@ -612,96 +331,22 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
if (status.Trim().ToUpper() != "ALL")
rawData = rawData.Where(x => x.LeaveCancelStatus == status);
-
- if (role == "OWNER")
- {
- node = null;
- }
- if (role == "OWNER" || role == "CHILD")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))));
- }
- else if (role == "BROTHER")
- {
- rawData = rawData
- .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))));
- }
- else if (role == "ROOT")
- {
- rawData = rawData
- .Where(x => x.RootDnaId == Guid.Parse(nodeId!));
- }
- // else if (role == "PARENT")
- // {
- // rawData = rawData
- // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null);
- // }
- else if (role == "NORMAL")
- {
- rawData = rawData
- .Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : true);
- }
-
return await rawData.ToListAsync();
}
- public async Task ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason, string LeaveReason)
+ public async Task ApproveCancelLeaveRequestAsync(LeaveRequest data, string Reason)
{
try
{
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken ?? "");
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(data.KeycloakUserId, AccessToken ?? "");
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(data.KeycloakUserId, AccessToken ?? "");
if (profile == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
- // ปรับสถานะ จาก DELETING มาเป็น DELETE
- data.LeaveStatus = "DELETE";
-
data.LeaveCancelStatus = "APPROVE";
- data.LeaveDirectorComment = Reason;
- data.LeaveCancelComment = LeaveReason;
-
- // TODO : Update ไปตาราง beginning
- if (data.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว
- {
-
- var toDay = data.LeaveStartDate.Date;
- var thisYear = data.LeaveStartDate.Year;
- if (toDay >= new DateTime(thisYear, 10, 1) && toDay <= new DateTime(thisYear, 12, 31))
- {
- thisYear = thisYear + 1;
- }
- await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, data.Type.Id, data.KeycloakUserId, -1 * data.LeaveTotal);
- // update leave count ลดลง 1 ครั้ง
- await _leaveBeginningRepository.UpdateLeaveCountAsync(thisYear, data.Type.Id, data.KeycloakUserId, -1);
-
-
- var _baseAPI = _configuration["API"];
- var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{data.Id}";
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
-
- var request = new HttpRequestMessage(HttpMethod.Patch, apiUrlSalary);
-
- // ส่ง request
- var _res = await client.SendAsync(request);
- if (!_res.IsSuccessStatusCode)
- throw new Exception("ไม่สามารถอัพเดตการยกเลิกรายการลาไปยังระบบทะเบียนประวัติ");
- //var _result = await _res.Content.ReadAsStringAsync();
- }
- }
-
+ data.LeaveCancelComment = Reason;
// Send Noti
var noti = new Notification
@@ -732,55 +377,20 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
throw new Exception(GlobalMessages.DataNotFound);
}
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken ?? "");
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(rawData.KeycloakUserId, AccessToken ?? "");
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken ?? "");
if (profile == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
- rawData.LeaveStatus = "DELETE";
-
rawData.LeaveCancelStatus = "APPROVE";
- rawData.LeaveDirectorComment = Reason;
+ rawData.LeaveCancelComment = Reason;
- await UpdateWithTrackingAsync(rawData);
-
- // TODO : Update ไปตาราง beginning
- if (rawData.ApproveStep == "st4") // ถ้ามีการอนุมัติจากผู้มีอำนาจแล้ว
- {
-
- var toDay = rawData.LeaveStartDate.Date;
- var thisYear = rawData.LeaveStartDate.Year;
- if (toDay >= new DateTime(thisYear, 10, 1) && toDay <= new DateTime(thisYear, 12, 31))
- {
- thisYear = thisYear + 1;
- }
-
- await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, -1 * rawData.LeaveTotal);
- // update leave count ลดลง 1 ครั้ง
- await _leaveBeginningRepository.UpdateLeaveCountAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, -1);
-
- var _baseAPI = _configuration["API"];
- var apiUrlSalary = $"{_baseAPI}/org/profile/leave/cancel/{rawData.Id}";
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
-
- var request = new HttpRequestMessage(HttpMethod.Patch, apiUrlSalary);
-
- // ส่ง request
- var _res = await client.SendAsync(request);
- if (!_res.IsSuccessStatusCode)
- throw new Exception("ไม่สามารถอัพเดตการยกเลิกรายการลาไปยังระบบทะเบียนประวัติ");
- //var _result = await _res.Content.ReadAsStringAsync();
- }
- }
+ await UpdateAsync(rawData);
// TODO: remove วันลา
- // Send Noti หาเจ้าของใบลา
+ // Send Noti
var noti = new Notification
{
Body = $"การขอยกเลิกใบลาของคุณได้รับการอนุมัติ",
@@ -789,28 +399,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
Payload = "",
};
_appDbContext.Set().Add(noti);
-
- var commanders = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
- .OrderBy(x => x.Seq)
- .ToList();
-
- foreach (var commander in commanders)
- {
- var noti1 = new Notification
- {
- Body = $"การขอยกเลิกใบลาของ {rawData.FirstName} {rawData.LastName} ได้รับการอนุมัติแล้ว",
- ReceiverUserId = commander.ProfileId,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti1);
- }
-
-
await _appDbContext.SaveChangesAsync();
-
-
}
public async Task RejectCancelLeaveRequestAsync(Guid id, string Reason)
@@ -821,15 +410,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
throw new Exception(GlobalMessages.DataNotFound);
}
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken ?? "");
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(rawData.KeycloakUserId, AccessToken ?? "");
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken ?? "");
if (profile == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
rawData.LeaveCancelStatus = "REJECT";
- rawData.LeaveDirectorComment = Reason;
+ rawData.LeaveCancelComment = Reason;
// fix issue : ระบบลา (User) >> กรณีขอยกเลิกการลา แต่ผู้บังคับบัญชาไม่อนุมัติ (สถานะการลาไม่อัปเดต) #846
if (rawData.ApproveStep == "st4")
@@ -871,25 +459,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
Payload = "",
};
_appDbContext.Set().Add(noti);
-
- var commanders = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
- .OrderBy(x => x.Seq)
- .ToList();
-
- foreach (var commander in commanders)
- {
- var noti1 = new Notification
- {
- Body = $"การขอยกเลิกใบลาของ {rawData.FirstName} {rawData.LastName} ไม่ได้รับการอนุมัติ \r\nเนืองจาก {Reason}",
- ReceiverUserId = commander.ProfileId,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti1);
- }
-
-
await _appDbContext.SaveChangesAsync();
}
@@ -909,7 +478,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
rawData.LeaveStatus = "NEW";
- rawData.DateSendLeave = DateTime.Now; // Update วันที่ยื่นลาเป็นวันที่ปัจจุบัน
//rawData.ApproveStep = "st2";
await UpdateAsync(rawData);
@@ -927,56 +495,11 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
rawData.ApproveStep = "st2";
await UpdateAsync(rawData);
-
- // TODO: Send notification to 1st Commander
- var firstCommander = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
- .OrderBy(x => x.Seq)
- .FirstOrDefault();
-
- // fix: If no commander, skip notification
- if (firstCommander != null)
- {
- // Send Notification
- var noti1 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = firstCommander!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti1);
- }
- else
- {
- // มีแต่ approver อย่างเดียว
- var firstApprover = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "APPROVER")
- .OrderBy(x => x.Seq)
- .FirstOrDefault();
- if(firstApprover != null)
- {
- // Send Notification
- var noti2 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = firstApprover!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti2);
- }
- }
- await _appDbContext.SaveChangesAsync();
}
public async Task CommanderApproveLeaveRequest(Guid id, string reason)
{
- // Get UserId from token
- var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
-
-
- var rawData = await GetByIdWithTrackingAsync(id);
+ var rawData = await GetByIdAsync(id);
if (rawData == null)
{
throw new Exception(GlobalMessages.DataNotFound);
@@ -984,522 +507,160 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
if (rawData.ApproveStep != "st2")
{
- throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
+ throw new Exception("คำขอนี้ยังไม่ได้รับการอนุมัติจากเจ้าหน้าที่ ไม่สามารถทำรายการได้");
}
- // check commander approve
- //var approvers = await _dbContext.Set()
- // //.AsNoTracking()
- // .Include(x => x.LeaveRequest)
- // .Where(x => x.LeaveRequest.Id == id && x.ApproveType == "COMMANDER")
- // .OrderBy(x => x.Seq)
- // .ToListAsync();
-
- var approvers = rawData.Approvers.Where(x => x.ApproveType!.ToUpper() == "COMMANDER").OrderBy(x => x.Seq).ToList();
-
- var approver = approvers.FirstOrDefault(x => x.KeycloakId == userId);
- if (approver == null)
- {
- throw new Exception("คุณไม่มีสิทธิ์อนุมัติการลาในขั้นตอนนี้");
- }
-
- // check prev approver มี action แล้วหรือไม่?
- var prevApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq - 1);
-
- if (prevApprover != null)
- {
- if (prevApprover.ApproveStatus == "PENDING")
- {
- throw new Exception("ไม่สามารถทำการอนุมัติได้ เนื่องจากยังอยู่ระหว่างการพิจารณาโดยผู้บังคับบัญชารายก่อนหน้า");
- }
- }
-
- var maxSeq = approvers.Max(x => x.Seq);
-
- //var data = await _dbContext.Set()
- // .AsNoTracking()
- // .Include(x => x.LeaveRequest)
- // .Where(x => x.LeaveRequest.Id == id && x.KeycloakId == userId && x.ApproveType == "COMMANDER")
- // .FirstOrDefaultAsync();
-
- //if(data != null)
- //{
- // data.ApproveStatus = "APPROVE";
- // data.Comment = reason;
-
- // data.LastUpdatedAt = DateTime.Now;
- // data.LastUpdateUserId = userId.ToString("D");
- // data.LastUpdateFullName = FullName ?? "";
-
- // await _appDbContext.SaveChangesAsync();
- //}
-
- approver.ApproveStatus = "APPROVE";
- approver.Comment = reason;
- approver.LastUpdateFullName = FullName ?? "";
- approver.LastUpdateUserId = userId.ToString("D");
- approver.LastUpdatedAt = DateTime.Now;
- //await _dbContext.SaveChangesAsync();
-
- if (approver.Seq != maxSeq)
- {
- rawData.LeaveStatus = "PENDING";
- await UpdateWithTrackingAsync(rawData);
-
- var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
-
- // Send Noti
- var noti = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = nextApprover!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti);
- await _appDbContext.SaveChangesAsync();
- }
- else
- {
- rawData.LeaveStatus = "PENDING";
- rawData.LeaveComment = reason;
- rawData.ApproveStep = "st3";
-
- await UpdateWithTrackingAsync(rawData);
-
- // TODO: Send notification to 1st Approver
- var firstCommander = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "APPROVER")
- .OrderBy(x => x.Seq)
- .FirstOrDefault();
-
- // Send Notification
- var noti1 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = firstCommander!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti1);
- await _appDbContext.SaveChangesAsync();
- }
- }
-
- public async Task CommanderRejectLeaveRequest(Guid id, string reason)
- {
- // Get UserId from token
- var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
-
-
- var rawData = await GetByIdWithTrackingAsync(id);
- if (rawData == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- if (rawData.ApproveStep != "st2")
- {
- throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
- }
-
- // check commander approve
- var approvers = rawData.Approvers.Where(x => x.ApproveType!.ToUpper() == "COMMANDER").OrderBy(x => x.Seq).ToList();
-
- var approver = approvers.FirstOrDefault(x => x.KeycloakId == userId);
- if (approver == null)
- {
- throw new Exception("คุณไม่มีสิทธิ์อนุมัติการลาในขั้นตอนนี้");
- }
-
- // check prev approver มี action แล้วหรือไม่?
- var prevApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq - 1);
-
- if (prevApprover != null)
- {
- if (prevApprover.ApproveStatus == "PENDING")
- {
- throw new Exception("ไม่สามารถทำการอนุมัติได้ เนื่องจากยังอยู่ระหว่างการพิจารณาโดยผู้บังคับบัญชารายก่อนหน้า");
- }
- }
-
-
- var maxSeq = approvers.Max(x => x.Seq);
-
- approver.ApproveStatus = "REJECT";
- approver.Comment = reason;
- approver.LastUpdateFullName = FullName ?? "";
- approver.LastUpdateUserId = userId.ToString("D");
- approver.LastUpdatedAt = DateTime.Now;
- if (approver.Seq != maxSeq)
- {
-
-
- var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
- // Send Noti
- var noti = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = nextApprover!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti);
- await _appDbContext.SaveChangesAsync();
-
- rawData.LeaveStatus = "PENDING";
- await UpdateWithTrackingAsync(rawData);
- }
- else
- {
- rawData.LeaveStatus = "PENDING";
- rawData.LeaveComment = reason;
- rawData.ApproveStep = "st3";
-
- await UpdateWithTrackingAsync(rawData);
-
- // TODO: Send notification to 1st Approver
- var firstCommander = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "APPROVER")
- .OrderBy(x => x.Seq)
- .FirstOrDefault();
- // Send Notification
- var noti1 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = firstCommander!.ProfileId,
- Type = "",
- Payload = $"{URL}/leave/detail/{id}",
- };
- _appDbContext.Set().Add(noti1);
- await _appDbContext.SaveChangesAsync();
- }
+ rawData.LeaveStatus = "PENDING";
+ rawData.LeaveComment = reason;
+ rawData.ApproveStep = "st3";
+ await UpdateAsync(rawData);
}
public async Task ApproveLeaveRequest(Guid id, string reason)
{
- // Get UserId from token
- var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
-
- var rawData = await GetByIdWithTrackingAsync(id);
+ var rawData = await GetByIdAsync(id);
if (rawData == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
- // ถ้าไม่มี commander ข้ามไปเช็ค approver ได้เลย
- var commanders = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
- .OrderBy(x => x.Seq)
- .ToList();
- if (commanders.Count > 0 && commanders != null)
+ if (rawData.ApproveStep != "st3")
{
- if (rawData.ApproveStep != "st3")
+ throw new Exception("คำขอนี้ยังไม่ได้รับการอนุมัติจากผู้บังคับบัญชา ไม่สามารถทำรายการได้");
+ }
+
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
+ if (profile == null)
+ {
+ throw new Exception(GlobalMessages.DataNotFound);
+ }
+
+ rawData.LeaveStatus = "APPROVE";
+ rawData.LeaveDirectorComment = reason;
+ rawData.ApproveStep = "st4";
+
+ await UpdateAsync(rawData);
+
+ //var leaveType = await _appDbContext.Set()
+ // .FirstOrDefaultAsync(x => x.Name == rawData.Type.Name);
+
+
+ // insert to profile leave
+ // var profileLeave = new ProfileLeave
+ // {
+ // DateStartLeave = rawData.LeaveStartDate,
+ // DateEndLeave = rawData.LeaveEndDate,
+
+ // TotalLeave = rawData.LeaveTotal,
+ // Status = "approve",
+ // Reason = rawData.LeaveDetail,
+
+ // ProfileId = profile.Id, // change from profile object to id
+ // TypeLeave = leaveType
+ // };
+ // _appDbContext.Set().Add(profileLeave);
+ var _baseAPI = _configuration["API"];
+ var apiUrlSalary = string.Empty;
+ if (profile.ProfileType == "OFFICER")
+ {
+ apiUrlSalary = $"{_baseAPI}/org/profile/leave";
+ using (var client = new HttpClient())
{
- throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
+ var _res = await client.PostAsJsonAsync(apiUrlSalary, new
+ {
+ profileId = profile.Id,
+ leaveTypeId = rawData?.Type?.Id ?? null,
+ dateLeaveStart = rawData.LeaveStartDate,
+ dateLeaveEnd = rawData.LeaveEndDate,
+ totalLeave = 0,//หน้า fe ไม่ได้ใช้
+ leaveCount = 0,//หน้า fe ไม่ได้ใช้
+ leaveDays = rawData.LeaveTotal,
+ status = "approve",
+ reason = rawData.LeaveDetail,
+ });
+ // var _result = await _res.Content.ReadAsStringAsync();
}
}
-
- // check commander approve
- var approvers = rawData.Approvers.Where(x => x.ApproveType!.ToUpper() == "APPROVER").OrderBy(x => x.Seq).ToList();
-
- var approver = approvers.FirstOrDefault(x => x.KeycloakId == userId);
- if (approver == null)
+ else if (profile.ProfileType == "EMPLOYEE")
{
- throw new Exception("คุณไม่มีสิทธิ์อนุมัติการลาในขั้นตอนนี้");
- }
-
- // check prev approver มี action แล้วหรือไม่?
- var prevApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq - 1);
-
- if (prevApprover != null)
- {
- if (prevApprover.ApproveStatus == "PENDING")
+ apiUrlSalary = $"{_baseAPI}/org/profile-employee/leave";
+ using (var client = new HttpClient())
{
- throw new Exception("ไม่สามารถทำการอนุมัติได้ เนื่องจากยังอยู่ระหว่างการพิจารณาโดยผู้บังคับบัญชารายก่อนหน้า");
+ client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
+ client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
+ var _res = await client.PostAsJsonAsync(apiUrlSalary, new
+ {
+ profileEmployeeId = profile.Id,
+ leaveTypeId = rawData?.Type?.Id ?? null,
+ dateLeaveStart = rawData.LeaveStartDate,
+ dateLeaveEnd = rawData.LeaveEndDate,
+ totalLeave = 0,
+ leaveCount = 0,
+ leaveDays = rawData.LeaveTotal,
+ status = "approve",
+ reason = rawData.LeaveDetail,
+ });
}
}
-
-
- var maxSeq = approvers.Max(x => x.Seq);
-
- approver.ApproveStatus = "APPROVE";
- approver.Comment = reason;
- approver.LastUpdateFullName = FullName ?? "";
- approver.LastUpdateUserId = userId.ToString("D");
- approver.LastUpdatedAt = DateTime.Now;
- if (approver.Seq != maxSeq)
- {
- var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
- // Send Noti
- var noti1 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = nextApprover!.ProfileId,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti1);
- await _appDbContext.SaveChangesAsync();
-
- await UpdateWithTrackingAsync(rawData);
- }
else
{
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(rawData.KeycloakUserId, AccessToken);
- if (profile == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- rawData.LeaveStatus = "APPROVE";
- rawData.LeaveDirectorComment = reason;
- rawData.ApproveStep = "st4";
-
- await UpdateWithTrackingAsync(rawData);
-
- var toDay = rawData.LeaveStartDate.Date;
- var thisYear = rawData.LeaveStartDate.Year;
- if (toDay >= new DateTime(thisYear, 10, 1) && toDay <= new DateTime(thisYear, 12, 31))
- {
- thisYear = thisYear + 1;
- }
-
- // TODO : Update ไปตาราง beginning
- await _leaveBeginningRepository.UpdateLeaveUsageAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, rawData.LeaveTotal);
- // update leave count เพิ่มขึ้น 1 ครั้ง
- await _leaveBeginningRepository.UpdateLeaveCountAsync(thisYear, rawData.Type.Id, rawData.KeycloakUserId, 1);
-
-
- var _baseAPI = _configuration["API"];
- var apiUrlSalary = string.Empty;
- if (profile.ProfileType == "OFFICER")
- {
- apiUrlSalary = $"{_baseAPI}/org/profile/leave";
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
- var _res = await client.PostAsJsonAsync(apiUrlSalary, new
- {
- profileId = profile.Id,
- leaveTypeId = rawData?.Type?.Id ?? null,
- dateLeaveStart = rawData.LeaveStartDate,
- dateLeaveEnd = rawData.LeaveEndDate,
- totalLeave = 0,//หน้า fe ไม่ได้ใช้
- leaveCount = 0,//หน้า fe ไม่ได้ใช้
- leaveDays = rawData.LeaveTotal,
- status = "approve",
- reason = rawData.LeaveDetail,
- leaveId = rawData.Id,
- leaveSubTypeName = rawData.LeaveSubTypeName,
- coupleDayLevelCountry = rawData.CoupleDayLevelCountry,
- });
- // var _result = await _res.Content.ReadAsStringAsync();
- }
- }
- else if (profile.ProfileType == "EMPLOYEE")
- {
- apiUrlSalary = $"{_baseAPI}/org/profile-employee/leave";
- using (var client = new HttpClient())
- {
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken.Replace("Bearer ", ""));
- client.DefaultRequestHeaders.Add("api-key", _configuration["API_KEY"]);
- var _res = await client.PostAsJsonAsync(apiUrlSalary, new
- {
- profileEmployeeId = profile.Id,
- leaveTypeId = rawData?.Type?.Id ?? null,
- dateLeaveStart = rawData.LeaveStartDate,
- dateLeaveEnd = rawData.LeaveEndDate,
- totalLeave = 0,
- leaveCount = 0,
- leaveDays = rawData.LeaveTotal,
- status = "approve",
- reason = rawData.LeaveDetail,
- leaveId = rawData.Id,
- leaveSubTypeName = rawData.LeaveSubTypeName,
- coupleDayLevelCountry = rawData.CoupleDayLevelCountry,
- });
- }
- }
- else
- {
- throw new Exception("ไม่สามารถทำรายการได้");
- }
- await _appDbContext.SaveChangesAsync();
-
- // ปรับสถานะการลงเวลา
- if (rawData.LeaveStartDate.Date == rawData.LeaveEndDate.Date)
- {
- var processCheckIn = await _dbContext.Set()
- .Where(x => x.KeycloakUserId == rawData.KeycloakUserId)
- .Where(x => x.CheckIn.Date == rawData.LeaveStartDate.Date)
- .FirstOrDefaultAsync();
-
-
- if (processCheckIn is not null)
- {
- switch (rawData.LeaveRange.Trim().ToUpper())
- {
- case "MORNING":
- processCheckIn.CheckInStatus = "NORMAL";
- break;
- case "AFTERNOON":
- processCheckIn.CheckOutStatus = "NORMAL";
- break;
- case "ALL":
- processCheckIn.CheckInStatus = "NORMAL";
- processCheckIn.CheckOutStatus = "NORMAL";
- break;
- default:
- break;
- }
- }
- await _dbContext.SaveChangesAsync();
- }
- else
- {
- var from = rawData.LeaveStartDate.Date;
- var to = rawData.LeaveEndDate.Date;
- for (var day = from.Date; day <= to.Date; day = day.AddDays(1))
- {
- var processCheckIn = await _dbContext.Set()
- .Where(x => x.KeycloakUserId == rawData.KeycloakUserId)
- .Where(x => x.CheckIn.Date == day.Date)
- .FirstOrDefaultAsync();
-
- if (processCheckIn is not null)
- {
- switch (rawData.LeaveRange.Trim().ToUpper())
- {
- case "MORNING":
- processCheckIn.CheckInStatus = "NORMAL";
- break;
- case "AFTERNOON":
- processCheckIn.CheckOutStatus = "NORMAL";
- break;
- case "ALL":
- processCheckIn.CheckInStatus = "NORMAL";
- processCheckIn.CheckOutStatus = "NORMAL";
- break;
- default:
- break;
- }
- }
- }
- await _dbContext.SaveChangesAsync();
- }
-
- // Send Noti
- var noti = new Notification
- {
- Body = $"การขอลาของคุณได้รับการอนุมัติ",
- ReceiverUserId = profile.Id,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti);
- await _appDbContext.SaveChangesAsync();
+ throw new Exception("ไม่สามารถทำรายการได้");
}
+ await _appDbContext.SaveChangesAsync();
+ // insert to process timestamp
+
+
+ // Send Noti
+ var noti = new Notification
+ {
+ Body = $"การขอลาของคุณได้รับการอนุมัติ",
+ ReceiverUserId = profile.Id,
+ Type = "",
+ Payload = "",
+ };
+ _appDbContext.Set().Add(noti);
+ await _appDbContext.SaveChangesAsync();
}
public async Task RejectLeaveRequest(Guid id, string reason)
{
- // Get UserId from token
- var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
-
- var rawData = await GetByIdWithTrackingAsync(id);
+ var rawData = await GetByIdAsync(id);
if (rawData == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
- // ถ้าไม่มี commander ข้ามไปเช็ค approver ได้เลย
- var commanders = rawData.Approvers
- .Where(x => x.ApproveType!.ToUpper() == "COMMANDER")
- .OrderBy(x => x.Seq)
- .ToList();
- if (commanders.Count > 0 && commanders != null)
+ if (rawData.ApproveStep != "st3")
{
- if (rawData.ApproveStep != "st3")
- {
- throw new Exception("คำขอนี้ยังไม่ได้อยู่ในขั้นตอนที่สามารถอนุมัติได้ ไม่สามารถทำรายการได้");
- }
+ throw new Exception("คำขอนี้ยังไม่ได้รับการอนุมัติจากผู้บังคับบัญชา ไม่สามารถทำรายการได้");
}
- // check commander approve
- var approvers = rawData.Approvers.Where(x => x.ApproveType!.ToUpper() == "APPROVER").OrderBy(x => x.Seq).ToList();
-
- var approver = approvers.FirstOrDefault(x => x.KeycloakId == userId);
- if (approver == null)
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
+ if (profile == null)
{
- throw new Exception("คุณไม่มีสิทธิ์อนุมัติการลาในขั้นตอนนี้");
+ throw new Exception(GlobalMessages.DataNotFound);
}
- // check prev approver มี action แล้วหรือไม่?
- var prevApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq - 1);
+ rawData.LeaveStatus = "REJECT";
+ rawData.LeaveDirectorComment = reason;
+ rawData.ApproveStep = "st5";
- if (prevApprover != null)
+ await UpdateAsync(rawData);
+
+ // Send Noti
+ var noti = new Notification
{
- if (prevApprover.ApproveStatus == "PENDING")
- {
- throw new Exception("ไม่สามารถทำการอนุมัติได้ เนื่องจากยังอยู่ระหว่างการพิจารณาโดยผู้บังคับบัญชารายก่อนหน้า");
- }
- }
-
-
- var maxSeq = approvers.Max(x => x.Seq);
-
- approver.ApproveStatus = "REJECT";
- approver.Comment = reason;
- approver.LastUpdateFullName = FullName ?? "";
- approver.LastUpdateUserId = userId.ToString("D");
- approver.LastUpdatedAt = DateTime.Now;
- if (approver.Seq != maxSeq)
- {
- var nextApprover = approvers.FirstOrDefault(x => x.Seq == approver.Seq + 1);
- // Send Noti
- var noti1 = new Notification
- {
- Body = $"การขอลาของคุณ {rawData.FirstName} {rawData.LastName} รอรับการอนุมัติจากคุณ",
- ReceiverUserId = nextApprover!.ProfileId,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti1);
- await _appDbContext.SaveChangesAsync();
-
- await UpdateWithTrackingAsync(rawData);
- }
- else
- {
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(rawData.KeycloakUserId, AccessToken);
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(rawData.KeycloakUserId, AccessToken);
- if (profile == null)
- {
- throw new Exception(GlobalMessages.DataNotFound);
- }
-
- rawData.LeaveStatus = "REJECT";
- rawData.LeaveDirectorComment = reason;
- rawData.ApproveStep = "st5";
-
- await UpdateWithTrackingAsync(rawData);
-
- // Send Noti
- var noti = new Notification
- {
- Body = $"การขอลาของคุณไม่ได้รับการอนุมัติ \r\nเนื่องจาก{reason}",
- ReceiverUserId = profile.Id,
- Type = "",
- Payload = "",
- };
- _appDbContext.Set().Add(noti);
- await _appDbContext.SaveChangesAsync();
- }
+ Body = $"การขอลาของคุณไม่ได้รับการอนุมัติ \r\nเนื่องจาก{reason}",
+ ReceiverUserId = profile.Id,
+ Type = "",
+ Payload = "",
+ };
+ _appDbContext.Set().Add(noti);
+ await _appDbContext.SaveChangesAsync();
}
public async Task> GetSumSendLeaveAsync(int year)
@@ -1511,8 +672,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Include(x => x.Type)
//.Where(x => x.LeaveStartDate.Year == year)
.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate)
- //.Where(x => x.LeaveStatus == "NEW") // fix issue : #729
- .Where(x => x.LeaveStatus != "DRAFT") // fix issue : #1524
+ .Where(x => x.LeaveStatus == "NEW") // fix issue : #729
.ToListAsync();
var res = (from d in data
@@ -1531,31 +691,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
public async Task> GetSumApproveLeaveAsync(int year)
{
- // Get จาก LeaveBeginning
- var beginning = await _dbContext.Set().AsNoTracking()
- .Include(x => x.LeaveType)
- .Where(x => x.LeaveYear == year)
-
- .ToListAsync();
-
- var beginningData = new List();
-
- foreach (var b in beginning)
- {
- var pf = await _userProfileRepository.GetProfileByProfileIdAsync(b.ProfileId, AccessToken);
- if (pf != null)
- {
- beginningData.Add(new GetSumApproveLeaveByTypeDto
- {
- KeycloakUserId = pf.Keycloak == null ? Guid.Empty : pf.Keycloak.Value,
- LeaveTypeId = b.LeaveTypeId,
- LeaveTypeCode = b.LeaveType!.Code,
- SumLeaveDay = b.LeaveDaysUsed ?? 0.0
- });
- }
- }
-
-
// fix issue : #729
var startFiscalDate = new DateTime(year - 1, 10, 1);
var endFiscalDate = new DateTime(year, 9, 30);
@@ -1567,8 +702,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Where(x => x.LeaveStatus == "APPROVE")
.ToListAsync();
-
-
var res = (from d in data
group d by new { d.KeycloakUserId, LeaveTypeId = d.Type.Id, LeaveTypeCode = d.Type.Code } into grp
select new GetSumApproveLeaveByTypeDto
@@ -1580,19 +713,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
})
.ToList();
-
- var resUnion = (from d in res.Union(beginningData)
- group d by new { d.KeycloakUserId, d.LeaveTypeId, d.LeaveTypeCode } into grp
- select new GetSumApproveLeaveByTypeDto
- {
- KeycloakUserId = grp.Key.KeycloakUserId,
- LeaveTypeId = grp.Key.LeaveTypeId,
- LeaveTypeCode = grp.Key.LeaveTypeCode,
- SumLeaveDay = grp.Sum(x => x.SumLeaveDay)
- })
- .ToList();
-
- return resUnion;
+ return res;
}
public async Task> GetSumRejectLeaveAsync(int year)
@@ -1632,7 +753,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Include(x => x.Type)
//.Where(x => x.LeaveStartDate.Year == year)
.Where(x => x.LeaveStartDate.Date >= startFiscalDate && x.LeaveStartDate.Date <= endFiscalDate) // fix issue : #729
- .Where(x => x.LeaveStatus == "DELETE" && x.LeaveCancelStatus == "APPROVE")
+ .Where(x => x.LeaveStatus == "DELETE")
.ToListAsync();
var res = (from d in data
@@ -1668,7 +789,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
.Where(x => x.LeaveStartDate.Year == year)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
.ToListAsync();
if (data.Count > 0)
@@ -1677,29 +798,13 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return 0.0;
}
- public async Task GetSumApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
public async Task GetSumApproveLeaveByRangeForUser(Guid keycloakUserId, DateTime startDate, DateTime endDate)
{
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
.ToListAsync();
if (data.Count > 0)
@@ -1713,7 +818,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
var data = await _dbContext.Set().AsQueryable()
.Include(x => x.Type)
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING").ToListAsync();
+ .Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
var res = (from d in data
group d by new { d.KeycloakUserId, LeaveTypeId = d.Type.Id, LeaveTypeCode = d.Type.Code } into grp
@@ -1722,178 +827,83 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
KeycloakUserId = grp.Key.KeycloakUserId,
LeaveTypeId = grp.Key.LeaveTypeId,
LeaveTypeCode = grp.Key.LeaveTypeCode,
- SumLeaveDay = grp.Sum(x => x.LeaveTotal),
- CountLeaveDay = grp.Count()
+ SumLeaveDay = grp.Sum(x => x.LeaveTotal)
})
.ToList();
return res;
}
- public async Task> GetSumApproveLeaveByRootAndRange(DateTime startDate, DateTime endDate, string type, string role, string? nodeId, int? node, string? nodeIdByReq, int? nodeByReq)
+ public async Task> GetSumApproveLeaveByRootAndRange(DateTime startDate, DateTime endDate, string type, string role, string? nodeId, int? node)
{
+ // var _nodeId = Guid.Parse(nodeId);
var data = new List();
- data = await _dbContext.Set().AsQueryable()
- .Include(x => x.Type)
- .Where(x => x.ProfileType == type.Trim().ToUpper())
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING").ToListAsync();
- // กรองตามสิทธิ์ admin ก่อน
- if (role == "CHILD")
+ if (role == "OWNER" || role == "CHILD")
{
- data = data.Where(x =>
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId) :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId) :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId) :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId) :
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId) :
- node == null ? true : true
- ).ToList();
- }
- else if (role == "BROTHER")
- {
- data = data.Where(x =>
- node == 4 ? x.Child3DnaId == Guid.Parse(nodeId) :
- node == 3 ? x.Child2DnaId == Guid.Parse(nodeId) :
- node == 2 ? x.Child1DnaId == Guid.Parse(nodeId) :
- node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId) :
- node == null ? true : true
- ).ToList();
- }
- else if (role == "ROOT")
- {
- data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId)).ToList();
- }
- // else if (role == "PARENT")
- // {
- // data = data.Where(x => x.RootDnaId == Guid.Parse(nodeId) && x.Child1DnaId != null).ToList();
- // }
- else if (role == "NORMAL")
- {
- data = data.Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId == null :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) && x.Child2DnaId == null :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) && x.Child3DnaId == null :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) && x.Child4DnaId == null :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) :
- true
- ).ToList();
- }
- // กรองตามที่ fe ส่งมา
- if (role == "ROOT" || role == "OWNER" || role == "CHILD" || role == "BROTHER" || role == "PARENT")
- {
- data = data
- .Where(x => nodeByReq == 4 ? x.Child4DnaId == Guid.Parse(nodeIdByReq) : nodeByReq == 3 ? x.Child3DnaId == Guid.Parse(nodeIdByReq) : nodeByReq == 2 ? x.Child2DnaId == Guid.Parse(nodeIdByReq) : nodeByReq == 1 ? x.Child1DnaId == Guid.Parse(nodeIdByReq) : nodeByReq == 0 ? x.RootDnaId == Guid.Parse(nodeIdByReq) : true)
- .ToList();
- }
- // รายงานการลางานจำแนกตามเพศฯ Template ให้หน่วยงานแสดงก่อนส่วนราชการ
- var org = _userProfileRepository.GetOc(Guid.Parse(nodeIdByReq), nodeByReq ?? 0, AccessToken);
- var organizationName = $"{org.Root ?? ""}{(!string.IsNullOrEmpty(org.Child1) ? "/" + org.Child1 : "")}{(!string.IsNullOrEmpty(org.Child2) ? "/" + org.Child2 : "")}{(!string.IsNullOrEmpty(org.Child3) ? "/" + org.Child3 : "")}{(!string.IsNullOrEmpty(org.Child4) ? "/" + org.Child4 : "")}";
- if (data.Count > 0)
- {
- var grouped = data.GroupBy(d => nodeByReq switch
- {
- 0 => d.Root,
- 1 => d.Child1,
- 2 => d.Child2,
- 3 => d.Child3,
- 4 => d.Child4,
- _ => d.Root
- });
- var res = (/*from d in data
- group d by new { d.Root, d.Child1, d.Child2, d.Child3, d.Child4 } into grp
- orderby grp.Key.Root, grp.Key.Child1, grp.Key.Child2, grp.Key.Child3, grp.Key.Child4*/
- from grp in grouped
- orderby grp.Key
- select new GetSumApproveLeaveByRootDto
- {
- //Root = $"{grp.Key.Root}{(!string.IsNullOrEmpty(grp.Key.Child1) ? "/" + grp.Key.Child1 : "")}{(!string.IsNullOrEmpty(grp.Key.Child2) ? "/" + grp.Key.Child2 : "")}{(!string.IsNullOrEmpty(grp.Key.Child3) ? "/" + grp.Key.Child3 : "")}{(!string.IsNullOrEmpty(grp.Key.Child4) ? "/" + grp.Key.Child4 : "")}",
- Root = organizationName,
- SumLeaveDay = grp.Sum(x => x.LeaveTotal),
- sickDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
- personalDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
- maternityDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
- wifeDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
- restDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
- ordainDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
- absentDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
- studyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
- agencyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
- coupleDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
- therapyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
-
- sickDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
- personalDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
- maternityDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
- wifeDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
- restDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
- ordainDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
- absentDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
- studyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
- agencyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
- coupleDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
- therapyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
-
- sickDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
- personalDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
- maternityDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
- wifeDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
- restDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
- ordainDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
- absentDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
- studyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
- agencyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
- coupleDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
- therapyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
- })
- .ToList();
-
- return res;
+ data = await _dbContext.Set().AsQueryable()
+ .Include(x => x.Type)
+ .Where(x => x.ProfileType == type.Trim().ToUpper())
+ .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
+ .Where(x => node == 4 ? x.Child4Id == Guid.Parse(nodeId) : (node == 3 ? x.Child3Id == Guid.Parse(nodeId) : (node == 2 ? x.Child2Id == Guid.Parse(nodeId) : (node == 1 ? x.Child1Id == Guid.Parse(nodeId) : (node == 0 ? x.RootId == Guid.Parse(nodeId) : (node == null ? true : true))))))
+ .Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
}
else
{
- return new List
- {
- new GetSumApproveLeaveByRootDto
- {
- Root = organizationName,
- SumLeaveDay = 0,
- sickDayCountMale = 0,
- maternityDayCountMale = 0,
- wifeDayCountMale = 0,
- personalDayCountMale = 0,
- restDayCountMale = 0,
- ordainDayCountMale = 0,
- absentDayCountMale = 0,
- studyDayCountMale = 0,
- agencyDayCountMale = 0,
- coupleDayCountMale = 0,
- therapyDayCountMale = 0,
- sickDayCountFemale = 0,
- maternityDayCountFemale = 0,
- wifeDayCountFemale = 0,
- personalDayCountFemale = 0,
- restDayCountFemale = 0,
- ordainDayCountFemale = 0,
- absentDayCountFemale = 0,
- studyDayCountFemale = 0,
- agencyDayCountFemale = 0,
- coupleDayCountFemale = 0,
- therapyDayCountFemale = 0,
- sickDayCountNo = 0,
- maternityDayCountNo = 0,
- wifeDayCountNo = 0,
- personalDayCountNo = 0,
- restDayCountNo = 0,
- ordainDayCountNo = 0,
- absentDayCountNo = 0,
- studyDayCountNo = 0,
- agencyDayCountNo = 0,
- coupleDayCountNo = 0,
- therapyDayCountNo = 0
- }
- };
+ data = await _dbContext.Set().AsQueryable()
+ .Include(x => x.Type)
+ .Where(x => x.ProfileType == type.Trim().ToUpper())
+ .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
+ .Where(x => node == 4 ? x.Child4Id == Guid.Parse(nodeId) : (node == 3 ? x.Child3Id == Guid.Parse(nodeId) : (node == 2 ? x.Child2Id == Guid.Parse(nodeId) : (node == 1 ? x.Child1Id == Guid.Parse(nodeId) : (node == 0 ? x.RootId == Guid.Parse(nodeId) : (node == null ? true : true))))))
+ .Where(x => node == 0 ? x.Child1Id == null : (node == 1 ? x.Child2Id == null : (node == 2 ? x.Child3Id == null : (node == 3 ? x.Child4Id == null : true))))
+ .Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
}
+
+ var res = (from d in data
+ group d by new { d.Root, d.Child1, d.Child2, d.Child3, d.Child4 } into grp
+ orderby grp.Key.Root, grp.Key.Child1, grp.Key.Child2, grp.Key.Child3, grp.Key.Child4
+ select new GetSumApproveLeaveByRootDto
+ {
+ Root = $"{grp.Key.Root}{(!string.IsNullOrEmpty(grp.Key.Child1) ? "/" + grp.Key.Child1 : "")}{(!string.IsNullOrEmpty(grp.Key.Child2) ? "/" + grp.Key.Child2 : "")}{(!string.IsNullOrEmpty(grp.Key.Child3) ? "/" + grp.Key.Child3 : "")}{(!string.IsNullOrEmpty(grp.Key.Child4) ? "/" + grp.Key.Child4 : "")}",
+ SumLeaveDay = grp.Sum(x => x.LeaveTotal),
+ sickDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
+ maternityDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
+ wifeDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
+ personalDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
+ restDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
+ ordainDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
+ absentDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
+ studyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
+ agencyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
+ coupleDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
+ therapyDayCountMale = grp.Where(x => x.Gender == "ชาย" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
+
+ sickDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
+ maternityDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
+ wifeDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
+ personalDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
+ restDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
+ ordainDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
+ absentDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
+ studyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
+ agencyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
+ coupleDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
+ therapyDayCountFemale = grp.Where(x => x.Gender == "หญิง" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
+
+ sickDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-001").Sum(x => x.LeaveTotal),
+ maternityDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-002").Sum(x => x.LeaveTotal),
+ wifeDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-003").Sum(x => x.LeaveTotal),
+ personalDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-004").Sum(x => x.LeaveTotal),
+ restDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-005").Sum(x => x.LeaveTotal),
+ ordainDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-006").Sum(x => x.LeaveTotal),
+ absentDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-007").Sum(x => x.LeaveTotal),
+ studyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-008").Sum(x => x.LeaveTotal),
+ agencyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-009").Sum(x => x.LeaveTotal),
+ coupleDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-010").Sum(x => x.LeaveTotal),
+ therapyDayCountNo = grp.Where(x => x.Gender != "ชาย" && x.Gender != "หญิง" && x.LeaveTypeCode == "LV-011").Sum(x => x.LeaveTotal),
+ })
+ .ToList();
+
+ return res;
}
public async Task> GetCountApproveLeaveByTypeAndRange(DateTime startDate, DateTime endDate)
@@ -1901,8 +911,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
var data = await _dbContext.Set().AsQueryable()
.Include(x => x.Type)
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
+ .Where(x => x.LeaveStatus == "APPROVE").ToListAsync();
var res = (from d in data
group d by new { d.KeycloakUserId, LeaveTypeId = d.Type.Id, LeaveTypeCode = d.Type.Code } into grp
@@ -1918,148 +927,14 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
return res;
}
- public async Task GetSumApproveLeaveTotalByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
+ public async Task GetSumApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
{
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
- //.Where(x => x.CreatedAt >= startDate && x.CreatedAt <= endDate)
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
- public async Task GetSumApproveLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate)
- {
- // startDate/endDate คือขอบเขตปีงบประมาณ (fiscalStart/fiscalEnd) ที่ caller ส่งมา
- // ใช้ LeaveStartDate เป็นหลักในการ filter เพื่อให้กรณียื่นลาล่วงหน้าข้ามปีงบประมาณ
- // ถูกนับในปีงบประมาณของวันลาจริง (ไม่ใช้วันที่ยื่นลา)
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
- public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserBefore(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
- public async Task GetSumApproveLeaveTotalByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.ProfileId == profileId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
- public async Task GetSumApproveLeaveCountByTypeAndRangeForUserByProfile(Guid profileId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.ProfileId == profileId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- return data.Count;
- }
-
- public async Task GetSumApproveLeaveCountByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
- .ToListAsync();
-
- return data.Count;
- }
-
- ///
- /// วันลาที่สร้างแบบร่างยังไม่ได้ยื่น
- ///
- ///
- ///
- ///
- ///
- ///
- ///
- public async Task GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate, DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => x.LeaveStatus == "DRAFT")
- .ToListAsync();
-
- if (data.Count > 0)
- return data.Sum(x => x.LeaveTotal);
- else
- return 0;
- }
-
- ///
- /// วันลาที่ยื่นแล้วรอพิจารณา
- ///
- ///
- ///
- ///
- ///
- ///
- public async Task GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate,DateTime sendLeaveDate)
- {
- var data = await _dbContext.Set().AsQueryable().AsNoTracking()
- .Include(x => x.Type)
- .Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.Type.Id == leaveTypeId)
- .Where(x => (x.DateSendLeave ?? x.CreatedAt) < sendLeaveDate)
- .Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- .Where(x => (x.LeaveStatus == "NEW" || x.LeaveStatus == "PENDING"))
+ .Where(x => x.LeaveStatus == "APPROVE")
.ToListAsync();
if (data.Count > 0)
@@ -2075,8 +950,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
.Where(x => x.KeycloakUserId == keycloakUserId)
.Where(x => x.Type.Id == leaveTypeId)
.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
- //.Where(x => x.CreatedAt >= startDate && x.CreatedAt <= endDate)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
.ToListAsync();
return data.Count;
@@ -2161,7 +1035,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
var data = await _dbContext.Set().AsQueryable().AsNoTracking()
.Include(x => x.Type)
.Where(x => x.KeycloakUserId == keycloakUserId)
- .Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
+ .Where(x => x.LeaveStatus == "APPROVE")
.Where(x => x.LeaveStartDate.Date <= date.Date && x.LeaveEndDate >= date.Date)
.FirstOrDefaultAsync();
return data;
diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs
index d4bc0ea8..2d6f0fcf 100644
--- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs
+++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/AdditionalCheckRequestRepository.cs
@@ -9,8 +9,6 @@ using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
-using Serilog;
-using System.Diagnostics;
namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
{
@@ -74,8 +72,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
await base.AddAsync(entity);
var userId = UserId != null ? Guid.Parse(UserId) : Guid.Empty;
- // var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken ?? "");
- var profile = await _userProfileRepository.GetProfileByKeycloakIdNew2Async(userId, AccessToken ?? "");
+ var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken ?? "");
// fix issue : SIT ระบบบันทึกเวลาปฏิบัติงาน>>ลงเวลากรณีพิเศษ (ไม่มีแจ้งเตือนไปยังผู้บังคับบัญชา) #969
// send noti + inbox + mail
@@ -145,147 +142,6 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
}
}
- public async Task> GetAdditionalCheckRequestsByAdminRole(int year, int month, string role, string nodeId, int? node, string? keyword)
- {
- try
- {
- var data = await _dbContext.Set().AsQueryable()
- .Where(x => (x.CheckDate.Year == year && x.CheckDate.Month == month))
- .OrderByDescending(x => x.CreatedAt.Date)
- .ToListAsync();
-
- if (!string.IsNullOrEmpty(keyword))
- {
- data = data.Where(x =>
- (
- (x.Prefix ?? "") + (x.FirstName ?? "") + " " + (x.LastName ?? "")).Contains(keyword)
- || x.Description.Contains(keyword)
-
- ).ToList();
- }
-
- if (role == "OWNER")
- {
- node = null;
- }
- if (role == "OWNER" || role == "CHILD")
- {
- data = data
- .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
- .ToList();
- }
- else if (role == "BROTHER")
- {
- data = data
- .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))
- .ToList();
- }
- else if (role == "ROOT")
- {
- data = data
- .Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList();
- }
- // else if (role == "PARENT")
- // {
- // data = data
- // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null && x.Child1DnaId != Guid.Empty).ToList();
- // }
- else if (role == "NORMAL")
- {
- data = data.Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) &&
- (x.Child1DnaId == Guid.Empty || x.Child1DnaId == null) :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) &&
- (x.Child2DnaId == Guid.Empty || x.Child2DnaId == null) :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) &&
- (x.Child3DnaId == Guid.Empty || x.Child3DnaId == null) :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) &&
- (x.Child4DnaId == Guid.Empty || x.Child4DnaId == null) :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) :
- true
- ).ToList();
- }
- return data;
- }
- catch
- {
- throw;
- }
- }
-
- public async Task> GetAdditionalCheckRequestsByAdminRole2(DateTime startDate, DateTime endDate, string role, string nodeId, int? node, string? keyword, string? status)
- {
- try
- {
- var data = await _dbContext.Set().AsQueryable()
- .Where(x => (x.CheckDate.Date >= startDate.Date && x.CheckDate.Date <= endDate.Date))
- .OrderByDescending(x => x.CreatedAt.Date)
- .ToListAsync();
-
- if(!string.IsNullOrEmpty(status))
- data = data.Where(x => x.Status == status).ToList();
-
-
- if (!string.IsNullOrEmpty(keyword))
- {
- data = data.Where(x =>
- (
- (x.Prefix ?? "") + (x.FirstName ?? "") + " " + (x.LastName ?? "")).Contains(keyword)
- || x.Description.Contains(keyword)
-
- ).ToList();
- }
-
- if (role == "OWNER")
- {
- node = null;
- }
- if (role == "OWNER" || role == "CHILD")
- {
- data = data
- .Where(x => node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true))))))
- .ToList();
- }
- else if (role == "BROTHER")
- {
- data = data
- .Where(x => node == 4 ? x.Child3DnaId == Guid.Parse(nodeId!) : (node == 3 ? x.Child2DnaId == Guid.Parse(nodeId!) : (node == 2 ? x.Child1DnaId == Guid.Parse(nodeId!) : (node == 1 || node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) : (node == null ? true : true)))))
- .ToList();
- }
- else if (role == "ROOT")
- {
- data = data
- .Where(x => x.RootDnaId == Guid.Parse(nodeId!)).ToList();
- }
- // else if (role == "PARENT")
- // {
- // data = data
- // .Where(x => x.RootDnaId == Guid.Parse(nodeId!) && x.Child1DnaId != null && x.Child1DnaId != Guid.Empty).ToList();
- // }
- else if (role == "NORMAL")
- {
- data = data.Where(x =>
- node == 0 ? x.RootDnaId == Guid.Parse(nodeId!) &&
- (x.Child1DnaId == Guid.Empty || x.Child1DnaId == null) :
- node == 1 ? x.Child1DnaId == Guid.Parse(nodeId!) &&
- (x.Child2DnaId == Guid.Empty || x.Child2DnaId == null) :
- node == 2 ? x.Child2DnaId == Guid.Parse(nodeId!) &&
- (x.Child3DnaId == Guid.Empty || x.Child3DnaId == null) :
- node == 3 ? x.Child3DnaId == Guid.Parse(nodeId!) &&
- (x.Child4DnaId == Guid.Empty || x.Child4DnaId == null) :
- node == 4 ? x.Child4DnaId == Guid.Parse(nodeId!) :
- true
- ).ToList();
- }
- return data;
- }
- catch
- {
- throw;
- }
- }
-
-
#endregion
}
}
diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs
deleted file mode 100644
index e0967a5c..00000000
--- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/CheckInJobStatusRepository.cs
+++ /dev/null
@@ -1,191 +0,0 @@
-using BMA.EHR.Application.Common.Interfaces;
-using BMA.EHR.Domain.Models.Leave.TimeAttendants;
-using Microsoft.AspNetCore.Http;
-using Microsoft.EntityFrameworkCore;
-
-namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
-{
- public class CheckInJobStatusRepository : GenericLeaveRepository
- {
- #region " Fields "
-
- private readonly ILeaveDbContext _dbContext;
-
- #endregion
-
- #region " Constructor and Destructor "
-
- public CheckInJobStatusRepository(ILeaveDbContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor)
- {
- _dbContext = dbContext;
- }
-
- #endregion
-
- #region " Methods "
-
- ///
- /// ดึงข้อมูล Job Status จาก TaskId
- ///
- public async Task GetByTaskIdAsync(Guid taskId)
- {
- var data = await _dbContext.Set()
- .Where(x => x.TaskId == taskId)
- .FirstOrDefaultAsync();
-
- return data;
- }
-
- ///
- /// ดึงข้อมูล Job Status จาก UserId และสถานะ
- ///
- public async Task> GetByUserIdAndStatusAsync(Guid userId, string status)
- {
- var data = await _dbContext.Set()
- .Where(x => x.KeycloakUserId == userId && x.Status == status)
- .OrderByDescending(x => x.CreatedDate)
- .ToListAsync();
-
- return data;
- }
-
- ///
- /// ดึงข้อมูล Job Status ที่ยัง pending หรือ processing
- ///
- public async Task> GetPendingOrProcessingJobsAsync(Guid userId)
- {
- var data = await _dbContext.Set()
- .Where(x => x.KeycloakUserId == userId &&
- (x.Status == "PENDING" || x.Status == "PROCESSING"))
- //.OrderByDescending(x => x.CreatedDate)
- .ToListAsync();
-
- return data;
- }
-
- ///
- /// อัปเดตสถานะเป็น Processing
- ///
- public async Task UpdateToProcessingAsync(Guid taskId)
- {
- var job = await GetByTaskIdAsync(taskId);
- if (job != null)
- {
- job.Status = "PROCESSING";
- job.ProcessingDate = DateTime.Now;
- await UpdateAsync(job);
- }
- return job!;
- }
-
- ///
- /// อัปเดตสถานะเป็น Completed
- ///
- public async Task UpdateToCompletedAsync(Guid taskId, string? additionalData = null)
- {
- var job = await GetByTaskIdAsync(taskId);
- if (job != null)
- {
- job.Status = "COMPLETED";
- job.CompletedDate = DateTime.Now;
- if (!string.IsNullOrEmpty(additionalData))
- {
- job.AdditionalData = additionalData;
- }
- await UpdateAsync(job);
- }
- return job!;
- }
-
- ///
- /// อัปเดตสถานะเป็น Failed
- ///
- public async Task UpdateToFailedAsync(Guid taskId, string errorMessage)
- {
- var job = await GetByTaskIdAsync(taskId);
- if (job != null)
- {
- job.Status = "FAILED";
- job.CompletedDate = DateTime.Now;
- job.ErrorMessage = errorMessage;
- await UpdateAsync(job);
- }
- return job!;
- }
-
- ///
- /// ดึงข้อมูลงานที่ค้างอยู่ในสถานะ PENDING หรือ PROCESSING เกินเวลาที่กำหนด (นาที)
- ///
- public async Task> GetStalePendingOrProcessingJobsAsync(int timeoutMinutes = 30)
- {
- //var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes);
- var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes);
- var staleJobs = await _dbContext.Set()
- .Where(x => (x.Status == "PENDING" || x.Status == "PROCESSING")
- && x.CreatedDate <= cutoffDate)
- .OrderBy(x => x.CreatedDate)
- .ToListAsync();
-
- return staleJobs;
- }
-
- ///
- /// ดึงข้อมูลงานที่ค้างอยู่ในสถานะ PENDING หรือ PROCESSING เกินเวลาที่กำหนด (นาที) ของ user คนใดคนหนึ่ง
- ///
- public async Task> GetStalePendingOrProcessingJobsByUserAsync(Guid userId, int timeoutMinutes = 30)
- {
- var cutoffDate = DateTime.Now.AddMinutes(-timeoutMinutes);
- //var cutoffDate = new DateTime(2026, 5, 28, 23, 59, 59);
- var staleJobs = await _dbContext.Set()
- .Where(x => x.KeycloakUserId == userId
- && (x.Status == "PENDING" || x.Status == "PROCESSING")
- && x.CreatedDate < cutoffDate)
- .OrderBy(x => x.CreatedDate)
- .ToListAsync();
-
- return staleJobs;
- }
-
- ///
- /// Mark งานที่ค้างเกินเวลาที่กำหนดเป็น FAILED
- ///
- public async Task MarkStaleJobsAsFailedAsync(int timeoutMinutes = 30)
- {
- var staleJobs = await GetStalePendingOrProcessingJobsAsync(timeoutMinutes);
-
- foreach (var job in staleJobs)
- {
- job.Status = "FAILED";
- job.CompletedDate = DateTime.Now;
- job.ErrorMessage = $"งานค้างในสถานะ {job.Status} เกิน {timeoutMinutes} นาที ระบบทำเครื่องหมายเป็น FAILED อัตโนมัติ";
- }
-
- if (staleJobs.Any())
- {
- _dbContext.Set().UpdateRange(staleJobs);
- await _dbContext.SaveChangesAsync();
- }
-
- return staleJobs.Count;
- }
-
- ///
- /// ล้างข้อมูล Job Status ที่เก่าเกิน X วัน
- ///
- public async Task CleanupOldJobsAsync(int daysOld = 30)
- {
- var cutoffDate = DateTime.Now.AddDays(-daysOld);
- var oldJobs = await _dbContext.Set()
- .Where(x => x.CreatedDate < cutoffDate)
- .ToListAsync();
-
- _dbContext.Set().RemoveRange(oldJobs);
- await _dbContext.SaveChangesAsync();
-
- return oldJobs.Count;
- }
-
- #endregion
- }
-}
diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/DutyTimeRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/DutyTimeRepository.cs
index e96c35a9..2db889ac 100644
--- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/DutyTimeRepository.cs
+++ b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/DutyTimeRepository.cs
@@ -61,12 +61,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
return await _dbContext.Set().Where(x => x.IsActive).ToListAsync();
}
- public async Task GetDefaultAsync(CancellationToken cancellationToken = default)
+ public async Task GetDefaultAsync()
{
- // กำหนด timeout เป็น 30 นาที
- using var timeoutCts = new CancellationTokenSource(TimeSpan.FromMinutes(30));
- using var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, timeoutCts.Token);
- return await _dbContext.Set().Where(x => x.IsDefault).FirstOrDefaultAsync(combinedCts.Token);
+ return await _dbContext.Set().Where(x => x.IsDefault).FirstOrDefaultAsync();
}
#endregion
diff --git a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/LeaveProcessJobStatusRepository.cs b/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/LeaveProcessJobStatusRepository.cs
deleted file mode 100644
index 5e9944ad..00000000
--- a/BMA.EHR.Application/Repositories/Leaves/TimeAttendants/LeaveProcessJobStatusRepository.cs
+++ /dev/null
@@ -1,795 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using System.Text.Json;
-using System.IO;
-using BMA.EHR.Application.Common.Interfaces;
-using BMA.EHR.Application.Repositories.Leaves.LeaveRequests;
-using BMA.EHR.Application.Repositories.MetaData;
-using BMA.EHR.Application.Responses.Profiles;
-using BMA.EHR.Domain.Extensions;
-using BMA.EHR.Domain.Models.Leave.TimeAttendants;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.Configuration;
-
-namespace BMA.EHR.Application.Repositories.Leaves.TimeAttendants
-{
- public class LeaveProcessJobStatusRepository: GenericLeaveRepository
- {
- #region " Fields "
-
- private readonly ILeaveDbContext _dbContext;
- private readonly IHttpContextAccessor _httpContextAccessor;
- private readonly UserProfileRepository _userProfileRepository;
- private readonly HolidayRepository _holidayRepository;
- private readonly DutyTimeRepository _dutyTimeRepository;
- private readonly UserDutyTimeRepository _userDutyTimeRepository;
- private readonly ProcessUserTimeStampRepository _processUserTimeStampRepository;
- private readonly LeaveRequestRepository _leaveRequestRepository;
- private readonly IConfiguration _configuration;
- private readonly IWebHostEnvironment _env;
-
- #endregion
-
- #region " Constructor and Destructor "
-
- public LeaveProcessJobStatusRepository(ILeaveDbContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- UserProfileRepository userProfileRepository,
- HolidayRepository holidayRepository,
- DutyTimeRepository dutyTimeRepository,
- UserDutyTimeRepository userDutyTimeRepository,
- ProcessUserTimeStampRepository processUserTimeStampRepository,
- LeaveRequestRepository leaveRequestRepository,
- IConfiguration configuration,
- IWebHostEnvironment env) : base(dbContext, httpContextAccessor)
- {
- _dbContext = dbContext;
- _httpContextAccessor = httpContextAccessor;
- _userProfileRepository = userProfileRepository;
- _holidayRepository = holidayRepository;
- _configuration = configuration;
- _leaveRequestRepository = leaveRequestRepository;
- _dutyTimeRepository = dutyTimeRepository;
- _userDutyTimeRepository = userDutyTimeRepository;
- _processUserTimeStampRepository = processUserTimeStampRepository;
- _env = env;
- }
-
- #endregion
-
- #region " Methods "
-
- ///
- /// ดึงข้อมูล Job Status จาก TaskId
- ///
- public async Task GetByTaskIdAsync(Guid id)
- {
- var data = await _dbContext.Set()
- .Where(x => x.Id == id)
- .FirstOrDefaultAsync();
-
- return data;
- }
-
- ///
- /// ดึงข้อมูล Job Status จาก UserId และสถานะ
- ///
- public async Task> GetByUserIdAndStatusAsync(Guid userId, string status)
- {
- var data = await _dbContext.Set()
- .Where(x => x.CreatedUserId == userId.ToString("D") && x.Status == status)
- .OrderByDescending(x => x.CreatedDate)
- .ToListAsync();
-
- return data;
- }
-
- ///
- /// ดึงข้อมูล Job Status จาก UserId
- ///
- public async Task> GetByUserIdAsync(Guid userId)
- {
- var data = await _dbContext.Set()
- .Where(x => x.CreatedUserId == userId.ToString("D"))
- .OrderByDescending(x => x.CreatedDate)
- .ToListAsync();
-
- return data;
- }
-
- ///
- /// ดึงข้อมูล Job Status ที่ยัง pending หรือ processing
- ///
- public async Task> GetPendingOrProcessingJobsAsync(Guid userId)
- {
- var data = await _dbContext.Set()
- .Where(x => x.CreatedUserId == userId.ToString("D") &&
- (x.Status == "PENDING" || x.Status == "PROCESSING"))
- //.OrderByDescending(x => x.CreatedDate)
- .ToListAsync();
-
- return data;
- }
-
- public async Task> GetPendingJobsAsync()
- {
- var data = await _dbContext.Set()
- .Where(x => x.Status == "PENDING")
- .ToListAsync();
-
- return data;
- }
-
- ///
- /// อัปเดตสถานะเป็น Processing
- ///
- public async Task UpdateToProcessingAsync(Guid id)
- {
- var job = await GetByTaskIdAsync(id);
- if (job != null)
- {
- job.Status = "PROCESSING";
- job.ProcessingDate = DateTime.Now;
- await UpdateAsync(job);
- }
- return job!;
- }
-
- ///
- /// อัปเดตสถานะเป็น Completed
- ///
- public async Task UpdateToCompletedAsync(Guid id, string? additionalData = null)
- {
- var job = await GetByTaskIdAsync(id);
- if (job != null)
- {
- job.Status = "COMPLETED";
- job.CompletedDate = DateTime.Now;
- await UpdateAsync(job);
- }
- return job!;
- }
-
- ///
- /// อัปเดตสถานะเป็น Failed
- ///
- public async Task UpdateToFailedAsync(Guid id, string errorMessage)
- {
- var job = await GetByTaskIdAsync(id);
- if (job != null)
- {
- job.Status = "FAILED";
- job.CompletedDate = DateTime.Now;
- job.ErrorMessage = errorMessage;
- await UpdateAsync(job);
- }
- return job!;
- }
-
- public async Task ProcessTaskAsync(Guid rootDnaId, DateTime? startDate, DateTime? endDate)
- {
-
- var profiles = new List