Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # obj/project.assets.json # obj/project.nuget.cache
This commit is contained in:
commit
338322986e
31 changed files with 1711 additions and 30 deletions
23
.github/workflows/deploy.yaml
vendored
Normal file
23
.github/workflows/deploy.yaml
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
name: deploy-docker
|
||||||
|
run-name: deploy-docker ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
# https://github.com/appleboy/ssh-action
|
||||||
|
# act -W .github/workflows/deploy.yaml -j remote-deploy -s SSH_PASSWORD
|
||||||
|
remote-deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Remote Deployment
|
||||||
|
uses: appleboy/ssh-action@v0.1.8
|
||||||
|
with:
|
||||||
|
host: frappet.com
|
||||||
|
username: frappet
|
||||||
|
password: ${{ secrets.SSH_PASSWORD }}
|
||||||
|
port: 22
|
||||||
|
script: |
|
||||||
|
cd /home/frappet/docker/bma-ehr-recruit-qualifying-exam
|
||||||
|
docker-compose pull
|
||||||
|
docker-compose up -d
|
||||||
|
touch success
|
||||||
|
|
||||||
34
.github/workflows/local-build.yaml
vendored
Normal file
34
.github/workflows/local-build.yaml
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
|
||||||
|
name: local-build
|
||||||
|
run-name: local-build ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
# push:
|
||||||
|
# tags:
|
||||||
|
# - v1.**
|
||||||
|
# branches:
|
||||||
|
# - 'main'
|
||||||
|
# branches:
|
||||||
|
# - 'release-*'
|
||||||
|
|
||||||
|
# Allow run workflow manually from Action tab
|
||||||
|
workflow_dispatch:
|
||||||
|
env:
|
||||||
|
REGISTRY: docker.frappet.com
|
||||||
|
CMS_IMAGE_NAME: demo/qualifying-exam-cms
|
||||||
|
CMS_IMAGE_TAG: 0.1.1
|
||||||
|
jobs:
|
||||||
|
# act -W .github/workflows/local-build.yaml -j local-image
|
||||||
|
local-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: "Check out code"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '18'
|
||||||
|
- name: Build and push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: cms
|
||||||
|
load: true
|
||||||
|
tags: ${{env.REGISTRY}}/${{env.CMS_IMAGE_NAME}}:${{env.CMS_IMAGE_TAG}},${{env.REGISTRY}}/${{env.CMS_IMAGE_NAME}}:latest
|
||||||
72
.github/workflows/release-dev.yaml
vendored
Normal file
72
.github/workflows/release-dev.yaml
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
name: releaseDev
|
||||||
|
run-name: releaseDev ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
# push:
|
||||||
|
# tags:
|
||||||
|
# - 'v[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
# tags-ignore:
|
||||||
|
# - '2.*'
|
||||||
|
# Allow run workflow manually from Action tab
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
IMAGE_VER:
|
||||||
|
description: "version for build image"
|
||||||
|
type: string
|
||||||
|
env:
|
||||||
|
REGISTRY: docker.frappet.com
|
||||||
|
IMAGE_NAME: demo/test-fe-exam
|
||||||
|
jobs:
|
||||||
|
# act workflow_dispatch -W .github/workflows/release.yaml --input IMAGE_VER=v0.2.1-dev -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||||
|
releaseDev:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# https://thekevinwang.com/2022/06/13/github-actions-survival-skills/
|
||||||
|
- name: Check out code # checkout only cms is possible but I checkout all
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- 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='beta'
|
||||||
|
fi
|
||||||
|
# echo "{\"version\":\"$IMAGE_VER\", \"builddate\":\"$(date +"%Y-%m-%d_%T")\",\"ref_name\":\"$GITHUB_REF\" }" > ./cms/src/lib/ver.json
|
||||||
|
# cat ./cms/src/lib/ver.json
|
||||||
|
echo '::set-output name=image_ver::'$IMAGE_VER
|
||||||
|
- name: Test Version
|
||||||
|
run: |
|
||||||
|
echo $GITHUB_REF
|
||||||
|
echo ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
# cat ./cms/src/lib/ver.json
|
||||||
|
- 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 push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
# platforms: linux/amd64,linux/arm64
|
||||||
|
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@v0.1.8
|
||||||
|
# with:
|
||||||
|
# host: frappet.com
|
||||||
|
# username: frappet
|
||||||
|
# password: ${{ secrets.SSH_PASSWORD }}
|
||||||
|
# port: 22
|
||||||
|
# script: |
|
||||||
|
# cd /home/frappet/docker/bma-ehr-recruit-qualifying-exam
|
||||||
|
# docker-compose pull
|
||||||
|
# docker-compose up -d
|
||||||
|
# touch success
|
||||||
|
|
||||||
72
.github/workflows/release.yaml
vendored
Normal file
72
.github/workflows/release.yaml
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
name: release
|
||||||
|
run-name: release ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
# push:
|
||||||
|
# tags:
|
||||||
|
# - 'v[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
# tags-ignore:
|
||||||
|
# - '2.*'
|
||||||
|
# Allow run workflow manually from Action tab
|
||||||
|
workflow_dispatch:
|
||||||
|
# inputs:
|
||||||
|
# IMAGE_VER:
|
||||||
|
# description: "version for build image"
|
||||||
|
# type: string
|
||||||
|
env:
|
||||||
|
REGISTRY: docker.frappet.com
|
||||||
|
IMAGE_NAME: demo/test-fe-exam
|
||||||
|
jobs:
|
||||||
|
# act workflow_dispatch -W .github/workflows/release.yaml --input IMAGE_VER=v0.2.1-dev -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# https://thekevinwang.com/2022/06/13/github-actions-survival-skills/
|
||||||
|
- name: Check out code # checkout only cms is possible but I checkout all
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- 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='beta'
|
||||||
|
fi
|
||||||
|
# echo "{\"version\":\"$IMAGE_VER\", \"builddate\":\"$(date +"%Y-%m-%d_%T")\",\"ref_name\":\"$GITHUB_REF\" }" > ./cms/src/lib/ver.json
|
||||||
|
# cat ./cms/src/lib/ver.json
|
||||||
|
echo '::set-output name=image_ver::'$IMAGE_VER
|
||||||
|
- name: Test Version
|
||||||
|
run: |
|
||||||
|
echo $GITHUB_REF
|
||||||
|
echo ${{ steps.gen_ver.outputs.image_ver }}
|
||||||
|
# cat ./cms/src/lib/ver.json
|
||||||
|
- 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 push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
# platforms: linux/amd64,linux/arm64
|
||||||
|
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@v0.1.8
|
||||||
|
# with:
|
||||||
|
# host: frappet.com
|
||||||
|
# username: frappet
|
||||||
|
# password: ${{ secrets.SSH_PASSWORD }}
|
||||||
|
# port: 22
|
||||||
|
# script: |
|
||||||
|
# cd /home/frappet/docker/bma-ehr-recruit-qualifying-exam
|
||||||
|
# docker-compose pull
|
||||||
|
# docker-compose up -d
|
||||||
|
# touch success
|
||||||
|
|
||||||
63
.github/workflows/release2.yaml
vendored
Normal file
63
.github/workflows/release2.yaml
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
name: release-dev
|
||||||
|
run-name: release-dev ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
# 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: demo/bma-ehr-recruit-exam-service
|
||||||
|
jobs:
|
||||||
|
# act workflow_dispatch -W .github/workflows/release2.yaml --input IMAGE_VER=v0.2.1-dev -s DOCKER_USER=sorawit -s DOCKER_PASS=P@ssword -s SSH_PASSWORD=P@ssw0rd
|
||||||
|
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='beta'
|
||||||
|
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 push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
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@v0.1.8
|
||||||
|
with:
|
||||||
|
host: frappet.com
|
||||||
|
username: frappet
|
||||||
|
password: ${{ secrets.SSH_PASSWORD }}
|
||||||
|
port: 22
|
||||||
|
script: |
|
||||||
|
cd /home/frappet/docker/bma-ehr-recruit-exam
|
||||||
|
docker-compose pull
|
||||||
|
docker-compose up -d
|
||||||
|
touch success
|
||||||
55
.github/workflows/remote-build.yaml
vendored
Normal file
55
.github/workflows/remote-build.yaml
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
name: remote-build
|
||||||
|
run-name: remote-build ${{ github.actor }}
|
||||||
|
on:
|
||||||
|
# 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
|
||||||
|
CMS_IMAGE_NAME: demo/test-fe-exam
|
||||||
|
CMS_IMAGE_TAG: 0.2.1
|
||||||
|
jobs:
|
||||||
|
# act --workflows .github/workflows/build.yaml --job remote-image -s DOCKER_USER -s DOCKER_PASS -s SSH_PASSWORD
|
||||||
|
# act -W .github/workflows/remote-build.yaml -j remote-image -s DOCKER_USER -s DOCKER_PASS -s SSH_PASSWORD
|
||||||
|
remote-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
# skip Set up QEMU because it fail on act and container
|
||||||
|
- 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}}
|
||||||
|
# Node no need because use 2 state build
|
||||||
|
# - uses: actions/setup-node@v3
|
||||||
|
# with:
|
||||||
|
# node-version: '18'
|
||||||
|
- name: Build and push docker image
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
# platforms: linux/amd64,linux/arm64
|
||||||
|
push: true
|
||||||
|
tags: ${{env.REGISTRY}}/${{env.CMS_IMAGE_NAME}}:${{env.CMS_IMAGE_TAG}},${{env.REGISTRY}}/${{env.CMS_IMAGE_NAME}}:latest
|
||||||
|
# - name: Remote Deployment
|
||||||
|
# uses: appleboy/ssh-action@v0.1.8
|
||||||
|
# with:
|
||||||
|
# host: frappet.com
|
||||||
|
# username: frappet
|
||||||
|
# password: ${{ secrets.SSH_PASSWORD }}
|
||||||
|
# port: 22
|
||||||
|
# script: |
|
||||||
|
# cd /home/frappet/docker/bma-ehr-recruit-qualifying-exam
|
||||||
|
# docker-compose pull
|
||||||
|
# docker-compose up -d
|
||||||
|
# touch success
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ActiveDebugProfile>https-api</ActiveDebugProfile>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
|
||||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
||||||
|
|
@ -78,5 +78,13 @@
|
||||||
<PackageReference Include="System.Xml.XPath" Version="4.3.0" />
|
<PackageReference Include="System.Xml.XPath" Version="4.3.0" />
|
||||||
<PackageReference Include="System.Xml.XPath.XmlDocument" Version="4.3.0" />
|
<PackageReference Include="System.Xml.XPath.XmlDocument" Version="4.3.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Update="SeedPeriodExam.xlsx">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Update="SeedPerson.xlsx">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.4.33103.184
|
VisualStudioVersion = 17.4.33103.184
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMA-EHR-Recurit-Exam-Service", "BMA-EHR-Recurit-Exam-Service.csproj", "{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMA.EHR.Recurit.Exam.Service", "BMA.EHR.Recurit.Exam.Service.csproj", "{92F7A5C5-FA85-41C0-B17B-1B2AA90EA980}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
54
Controllers/TestController.cs
Normal file
54
Controllers/TestController.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
using BMA.EHR.Core;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Request;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Response;
|
||||||
|
using BMA.EHR.Recurit.Exam.Service.Services;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Swashbuckle.AspNetCore.Annotations;
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Controllers
|
||||||
|
{
|
||||||
|
[Route("api/v{version:apiVersion}/test")]
|
||||||
|
[ApiVersion("1.0")]
|
||||||
|
[ApiController]
|
||||||
|
[Produces("application/json")]
|
||||||
|
[SwaggerTag("ทดสอบรัน api")]
|
||||||
|
public class TestController : BaseController
|
||||||
|
{
|
||||||
|
#region " Fields "
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region " Constructor and Destructor "
|
||||||
|
|
||||||
|
public TestController()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ข้อมูล สถานะ ผู้สมัครสอบ
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="examId">รหัสรอบสมัคร</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <response code="200">เมื่อทำการดึง ข้อมูล สถานะ ผู้สมัคร สำเร็จ</response>
|
||||||
|
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
|
||||||
|
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
|
||||||
|
[HttpGet]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||||||
|
public async Task<ActionResult<ResponseObject>> GetStatusTestService()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Success(GlobalMessages.Success, "ผ่าน");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return Error(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -270,6 +270,16 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
||||||
b.Property<Guid?>("RelationshipId")
|
b.Property<Guid?>("RelationshipId")
|
||||||
.HasColumnType("char(36)");
|
.HasColumnType("char(36)");
|
||||||
|
|
||||||
|
b.Property<string>("SeatNumber")
|
||||||
|
.HasColumnType("longtext")
|
||||||
|
.HasComment("เลขที่นั่งสอบ");
|
||||||
|
|
||||||
|
b.Property<string>("Status")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(20)
|
||||||
|
.HasColumnType("varchar(20)")
|
||||||
|
.HasComment("สถานะผู้สมัคร");
|
||||||
|
|
||||||
b.Property<string>("Telephone")
|
b.Property<string>("Telephone")
|
||||||
.HasMaxLength(20)
|
.HasMaxLength(20)
|
||||||
.HasColumnType("varchar(20)")
|
.HasColumnType("varchar(20)")
|
||||||
|
|
@ -281,12 +291,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
|
||||||
.HasColumnType("varchar(40)")
|
.HasColumnType("varchar(40)")
|
||||||
.HasComment("User Id ผู้สมัคร");
|
.HasComment("User Id ผู้สมัคร");
|
||||||
|
|
||||||
b.Property<string>("status")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(20)
|
|
||||||
.HasColumnType("varchar(20)")
|
|
||||||
.HasComment("สถานะผู้สมัคร");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("CitizenDistrictId");
|
b.HasIndex("CitizenDistrictId");
|
||||||
|
|
|
||||||
11
Dockerfile
11
Dockerfile
|
|
@ -7,16 +7,17 @@ EXPOSE 443
|
||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY ["BMA-EHR-Recurit-Exam-Service.csproj", "."]
|
COPY ["nuget.config", "."]
|
||||||
RUN dotnet restore "./BMA-EHR-Recurit-Exam-Service.csproj"
|
COPY ["BMA.EHR.Recurit.Exam.Service.csproj", "."]
|
||||||
|
RUN dotnet restore "./BMA.EHR.Recurit.Exam.Service.csproj"
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR "/src/."
|
WORKDIR "/src/."
|
||||||
RUN dotnet build "BMA-EHR-Recurit-Exam-Service.csproj" -c Release -o /app/build
|
RUN dotnet build "BMA.EHR.Recurit.Exam.Service.csproj" -c Release -o /app/build
|
||||||
|
|
||||||
FROM build AS publish
|
FROM build AS publish
|
||||||
RUN dotnet publish "BMA-EHR-Recurit-Exam-Service.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
RUN dotnet publish "BMA.EHR.Recurit.Exam.Service.csproj" -c Release -o /app/publish /p:UseAppHost=false
|
||||||
|
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=publish /app/publish .
|
COPY --from=publish /app/publish .
|
||||||
ENTRYPOINT ["dotnet", "BMA-EHR-Recurit-Exam-Service.dll"]
|
ENTRYPOINT ["dotnet", "BMA.EHR.Recurit.Exam.Service.dll"]
|
||||||
1220
Migrations/20230329044404_Update table Candidate add seatnumber.Designer.cs
generated
Normal file
1220
Migrations/20230329044404_Update table Candidate add seatnumber.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,40 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Recurit.Exam.Service.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class UpdatetableCandidateaddseatnumber : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "status",
|
||||||
|
table: "Candidates",
|
||||||
|
newName: "Status");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "SeatNumber",
|
||||||
|
table: "Candidates",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true,
|
||||||
|
comment: "เลขที่นั่งสอบ")
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "SeatNumber",
|
||||||
|
table: "Candidates");
|
||||||
|
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "Status",
|
||||||
|
table: "Candidates",
|
||||||
|
newName: "status");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -14,6 +14,8 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
|
|
||||||
[Required, MaxLength(20), Comment("สถานะผู้สมัคร")]
|
[Required, MaxLength(20), Comment("สถานะผู้สมัคร")]
|
||||||
public string Status { get; set; } = "register";
|
public string Status { get; set; } = "register";
|
||||||
|
[Comment("เลขที่นั่งสอบ")]
|
||||||
|
public string? SeatNumber { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Models
|
||||||
public int? Round { get; set; }
|
public int? Round { get; set; }
|
||||||
|
|
||||||
[Comment("ค่าธรรมเนียม")]
|
[Comment("ค่าธรรมเนียม")]
|
||||||
public float? Fee { get; set; }
|
public float? Fee { get; set; } = 0;
|
||||||
|
|
||||||
[Comment("ปีงบประมาณ")]
|
[Comment("ปีงบประมาณ")]
|
||||||
public int? Year { get; set; }
|
public int? Year { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"launchBrowser": true,
|
"launchBrowser": true,
|
||||||
"launchUrl": "swagger",
|
"launchUrl": "swagger",
|
||||||
"applicationUrl": "https://localhost:7007;http://localhost:5261",
|
"applicationUrl": "https://localhost:7007;http://localhost:5262",
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
},
|
},
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
},
|
},
|
||||||
"dotnetRunMessages": true,
|
"dotnetRunMessages": true,
|
||||||
"applicationUrl": "http://localhost:5261"
|
"applicationUrl": "http://localhost:5262"
|
||||||
},
|
},
|
||||||
"https": {
|
"https": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
|
|
@ -28,13 +28,13 @@
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
},
|
},
|
||||||
"dotnetRunMessages": true,
|
"dotnetRunMessages": true,
|
||||||
"applicationUrl": "https://localhost:7007;http://localhost:5261"
|
"applicationUrl": "https://localhost:7007;http://localhost:5262"
|
||||||
},
|
},
|
||||||
"https-api": {
|
"https-api": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"launchBrowser": true,
|
"launchBrowser": true,
|
||||||
"launchUrl": "swagger",
|
"launchUrl": "swagger",
|
||||||
"applicationUrl": "https://localhost:7007;http://localhost:5261",
|
"applicationUrl": "https://localhost:7007;http://localhost:5262",
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
BIN
SeedHoliday.xlsx
BIN
SeedHoliday.xlsx
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -243,6 +243,9 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
if (exam == null)
|
if (exam == null)
|
||||||
throw new Exception(GlobalMessages.ExamNotFound);
|
throw new Exception(GlobalMessages.ExamNotFound);
|
||||||
|
|
||||||
|
var _candidateNumber = await _context.Candidates.AsQueryable()
|
||||||
|
.CountAsync(x => x.PeriodExam == exam);
|
||||||
|
|
||||||
var _candidate = await _context.Candidates.AsQueryable()
|
var _candidate = await _context.Candidates.AsQueryable()
|
||||||
.FirstOrDefaultAsync(x => x.PeriodExam == exam && x.UserId == UserId);
|
.FirstOrDefaultAsync(x => x.PeriodExam == exam && x.UserId == UserId);
|
||||||
if (_candidate == null)
|
if (_candidate == null)
|
||||||
|
|
@ -257,6 +260,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
|
||||||
CreatedFullName = FullName ?? "",
|
CreatedFullName = FullName ?? "",
|
||||||
LastUpdateFullName = FullName ?? "",
|
LastUpdateFullName = FullName ?? "",
|
||||||
UserId = UserId ?? "",
|
UserId = UserId ?? "",
|
||||||
|
SeatNumber = "CDC-" + (_candidateNumber + 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
await _context.Candidates.AddAsync(candidate);
|
await _context.Candidates.AddAsync(candidate);
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||||
"Issuer": "https://identity.frappet.com/realms/bma-ehr-exam"
|
"Issuer": "https://identity.frappet.com/realms/bma-ehr"
|
||||||
},
|
},
|
||||||
"EPPlus": {
|
"EPPlus": {
|
||||||
"ExcelPackage": {
|
"ExcelPackage": {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
},
|
},
|
||||||
"Jwt": {
|
"Jwt": {
|
||||||
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",
|
||||||
"Issuer": "https://identity.frappet.com/realms/bma-ehr-exam"
|
"Issuer": "https://identity.frappet.com/realms/bma-ehr"
|
||||||
},
|
},
|
||||||
"EPPlus": {
|
"EPPlus": {
|
||||||
"ExcelPackage": {
|
"ExcelPackage": {
|
||||||
|
|
|
||||||
5
global.json
Normal file
5
global.json
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "7.0.201"
|
||||||
|
}
|
||||||
|
}
|
||||||
9
nuget.config
Normal file
9
nuget.config
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<packageSources>
|
||||||
|
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
|
||||||
|
<clear />
|
||||||
|
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
|
||||||
|
<add key="private_nuget" value="https://nuget.frappet.synology.me/v3/index.json" />
|
||||||
|
</packageSources>
|
||||||
|
</configuration>
|
||||||
Binary file not shown.
|
|
@ -8088,17 +8088,30 @@
|
||||||
"project": {
|
"project": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"restore": {
|
"restore": {
|
||||||
|
<<<<<<< HEAD
|
||||||
"projectUniqueName": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
"projectUniqueName": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
||||||
"projectName": "BMA-EHR-Recurit-Exam-Service",
|
"projectName": "BMA-EHR-Recurit-Exam-Service",
|
||||||
"projectPath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
"projectPath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
||||||
"packagesPath": "C:\\Users\\suphonchai\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\suphonchai\\.nuget\\packages\\",
|
||||||
"outputPath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\obj\\",
|
"outputPath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\obj\\",
|
||||||
|
=======
|
||||||
|
"projectUniqueName": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
||||||
|
"projectName": "BMA.EHR.Recurit.Exam.Service",
|
||||||
|
"projectPath": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\M\\.nuget\\packages\\",
|
||||||
|
"outputPath": "D:\\BMA-EHR-Recurit-Exam-Service\\obj\\",
|
||||||
|
>>>>>>> origin/develop
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
"fallbackFolders": [
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
],
|
],
|
||||||
"configFilePaths": [
|
"configFilePaths": [
|
||||||
|
<<<<<<< HEAD
|
||||||
"C:\\Users\\suphonchai\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
"C:\\Users\\suphonchai\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
=======
|
||||||
|
"D:\\BMA-EHR-Recurit-Exam-Service\\NuGet.Config",
|
||||||
|
"C:\\Users\\M\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
>>>>>>> origin/develop
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
|
|
@ -8106,9 +8119,14 @@
|
||||||
"net7.0"
|
"net7.0"
|
||||||
],
|
],
|
||||||
"sources": {
|
"sources": {
|
||||||
|
<<<<<<< HEAD
|
||||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||||
"https://api.nuget.org/v3/index.json": {}
|
"https://api.nuget.org/v3/index.json": {}
|
||||||
|
=======
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://nuget.frappet.synology.me/v3/index.json": {}
|
||||||
|
>>>>>>> origin/develop
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"net7.0": {
|
"net7.0": {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
{
|
{
|
||||||
"version": 2,
|
"version": 2,
|
||||||
|
<<<<<<< HEAD
|
||||||
"dgSpecHash": "ChnI3WhXjP+sxAKLkSP8S8mz3WOzlnkCZXbBnqR2HJ/SOQOepaa34U2OC3GEmT8xAdinmgkUc82x7WgjOC7iRw==",
|
"dgSpecHash": "ChnI3WhXjP+sxAKLkSP8S8mz3WOzlnkCZXbBnqR2HJ/SOQOepaa34U2OC3GEmT8xAdinmgkUc82x7WgjOC7iRw==",
|
||||||
"success": true,
|
"success": true,
|
||||||
"projectFilePath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
"projectFilePath": "D:\\Develop\\Source\\BMA-EHR-Recurit-Exam-Service\\BMA-EHR-Recurit-Exam-Service.csproj",
|
||||||
|
=======
|
||||||
|
"dgSpecHash": "jARShbZ7PIhhIRmoQr9ZlMRsoMjKYArRP27wUCJoLnZq6aAb2nxywy+XINyZW0hQINikWB8ZFgzBjUw6XqNheQ==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "D:\\BMA-EHR-Recurit-Exam-Service\\BMA.EHR.Recurit.Exam.Service.csproj",
|
||||||
|
>>>>>>> origin/develop
|
||||||
"expectedPackageFiles": [
|
"expectedPackageFiles": [
|
||||||
"C:\\Users\\suphonchai\\.nuget\\packages\\bma.ehr.core\\1.0.0\\bma.ehr.core.1.0.0.nupkg.sha512",
|
"C:\\Users\\suphonchai\\.nuget\\packages\\bma.ehr.core\\1.0.0\\bma.ehr.core.1.0.0.nupkg.sha512",
|
||||||
"C:\\Users\\suphonchai\\.nuget\\packages\\bma.ehr.extensions\\1.0.1\\bma.ehr.extensions.1.0.1.nupkg.sha512",
|
"C:\\Users\\suphonchai\\.nuget\\packages\\bma.ehr.extensions\\1.0.1\\bma.ehr.extensions.1.0.1.nupkg.sha512",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"realm": "bma-ehr-exam",
|
"realm": "bma-ehr",
|
||||||
"auth-server-url": "https://identity.frappet.com",
|
"auth-server-url": "https://identity.frappet.com",
|
||||||
"ssl-required": "external",
|
"ssl-required": "external",
|
||||||
"resource": "bma-ehr-exam",
|
"resource": "bma-ehr",
|
||||||
"public-client": true
|
"public-client": true
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue