// <auto-generated />
using System;
using BMA.EHR.Infrastructure.Persistence;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
{
    [DbContext(typeof(LeaveDbContext))]
    [Migration("20231113082133_ update field user timestamps (add) ")]
    partial class updatefieldusertimestampsadd
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "7.0.9")
                .HasAnnotation("Relational:MaxIdentifierLength", 64);

            modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.DutyTime", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("คำอธิบาย");

                    b.Property<string>("EndTimeAfternoon")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("เวลาออกงานช่วงบ่าย");

                    b.Property<string>("EndTimeMorning")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("เวลาออกงานช่วงเช้า");

                    b.Property<bool>("IsActive")
                        .HasColumnType("tinyint(1)")
                        .HasComment("สถานะการเปิดใช้งาน (เปิด/ปิด)");

                    b.Property<bool>("IsDefault")
                        .HasColumnType("tinyint(1)")
                        .HasComment("สถานะว่ารอบใดเป็นค่า Default ของข้าราชการ (สำหรับทุกคนที่ยังไม่ได้ทำการเลือกรอบ)");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.Property<string>("StartTimeAfternoon")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("เวลาเข้างานช่วงบ่าย");

                    b.Property<string>("StartTimeMorning")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("เวลาเข้างานช่วงเช้า");

                    b.HasKey("Id");

                    b.ToTable("DutyTimes");
                });

            modelBuilder.Entity("BMA.EHR.Domain.Models.Leave.TimeAttendants.UserTimeStamp", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)")
                        .HasColumnOrder(0)
                        .HasComment("PrimaryKey")
                        .HasAnnotation("Relational:JsonPropertyName", "id");

                    b.Property<DateTime>("CheckIn")
                        .HasColumnType("datetime(6)")
                        .HasComment("วัน เวลา เข้างาน");

                    b.Property<string>("CheckInImageUrl")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("รูปถ่ายสถานที่  Check-In");

                    b.Property<double>("CheckInLat")
                        .HasColumnType("double")
                        .HasComment("พิกัดละติจูด Check-In");

                    b.Property<string>("CheckInLocationName")
                        .HasColumnType("longtext")
                        .HasComment("กรณีเลือกนอกสถานที่ตั้ง ต้องระบุข้อมูลชื่อสถานะที่ Check-In");

                    b.Property<double>("CheckInLon")
                        .HasColumnType("double")
                        .HasComment("พิกัดลองจิจูด Check-In");

                    b.Property<string>("CheckInPOI")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ชื่อสถานที่ ได้มาจากระบบ ArcGis ของกองสารสนเทศภูมิศาสตร์ Check-In");

                    b.Property<string>("CheckInRemark")
                        .HasColumnType("longtext")
                        .HasComment("ข้อความหมายเหตุที่ต้องการระบุเพิ่ม(มีเผื่อไว้อาจไม่ได้ใช้) Check-In");

                    b.Property<DateTime?>("CheckOut")
                        .HasColumnType("datetime(6)")
                        .HasComment("วัน เวลา ออกงาน");

                    b.Property<string>("CheckOutImageUrl")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("รูปถ่ายสถานที่  Check-Out");

                    b.Property<double>("CheckOutLat")
                        .HasColumnType("double")
                        .HasComment("พิกัดละติจูด Check-Out");

                    b.Property<string>("CheckOutLocationName")
                        .HasColumnType("longtext")
                        .HasComment("กรณีเลือกนอกสถานที่ตั้ง ต้องระบุข้อมูลชื่อสถานะที่ Check-Out");

                    b.Property<double>("CheckOutLon")
                        .HasColumnType("double")
                        .HasComment("พิกัดลองจิจูด Check-Out");

                    b.Property<string>("CheckOutPOI")
                        .IsRequired()
                        .HasColumnType("longtext")
                        .HasComment("ชื่อสถานที่ ได้มาจากระบบ ArcGis ของกองสารสนเทศภูมิศาสตร์ Check-Out");

                    b.Property<string>("CheckOutRemark")
                        .HasColumnType("longtext")
                        .HasComment("ข้อความหมายเหตุที่ต้องการระบุเพิ่ม(มีเผื่อไว้อาจไม่ได้ใช้) Check-Out");

                    b.Property<DateTime>("CreatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(100)
                        .HasComment("สร้างข้อมูลเมื่อ");

                    b.Property<string>("CreatedFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(104)
                        .HasComment("ชื่อ User ที่สร้างข้อมูล");

                    b.Property<string>("CreatedUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(101)
                        .HasComment("User Id ที่สร้างข้อมูล");

                    b.Property<bool>("IsLocationCheckIn")
                        .HasColumnType("tinyint(1)")
                        .HasComment("true คือ ณ สถานที่ตั้ง, false คือ นอกสถานที่ตั้ง Check-In");

                    b.Property<bool>("IsLocationCheckOut")
                        .HasColumnType("tinyint(1)")
                        .HasComment("true คือ ณ สถานที่ตั้ง, false คือ นอกสถานที่ตั้ง Check-Out");

                    b.Property<bool>("IsProcess")
                        .HasColumnType("tinyint(1)")
                        .HasComment("นำไปประมวลผลแล้วหรือยัง");

                    b.Property<Guid>("KeycloakUserId")
                        .HasColumnType("char(36)")
                        .HasComment("รหัส User ของ Keycloak");

                    b.Property<string>("LastUpdateFullName")
                        .IsRequired()
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasColumnOrder(105)
                        .HasComment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<string>("LastUpdateUserId")
                        .IsRequired()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnOrder(103)
                        .HasComment("User Id ที่แก้ไขข้อมูลล่าสุด");

                    b.Property<DateTime?>("LastUpdatedAt")
                        .HasColumnType("datetime(6)")
                        .HasColumnOrder(102)
                        .HasComment("แก้ไขข้อมูลล่าสุดเมื่อ");

                    b.HasKey("Id");

                    b.ToTable("UserTimeStamps");
                });
#pragma warning restore 612, 618
        }
    }
}
