using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

namespace IWS5.DatabaseAccess.IwsDataModels;

[Keyless]
[Table("ATD_EMARK_DOC_TEMPLATE")]
public partial class AtdEmarkDocTemplate
{
    public int? InstanceId { get; set; }

    public int? DocumentId { get; set; }

    public int? RevNum { get; set; }

    [StringLength(255)]
    [Unicode(false)]
    public string? RevStatus { get; set; }

    [Column("DOC_TYPE_ID")]
    public int? DocTypeId { get; set; }

    [Column("DOC_TYPE_NAME")]
    [StringLength(50)]
    public string? DocTypeName { get; set; }

    [Column("DOC_ID")]
    public int? DocId { get; set; }

    [Column("DOC_NUMBER")]
    [StringLength(15)]
    public string? DocNumber { get; set; }

    [Column("DOC_DATE", TypeName = "datetime")]
    public DateTime? DocDate { get; set; }

    [Column("INSTITUTE_ID")]
    public int? InstituteId { get; set; }

    [Column("INSTITUTE_ABRNAME")]
    [StringLength(15)]
    public string? InstituteAbrname { get; set; }

    [Column("ACADEMIC_YEAR_ID")]
    public int? AcademicYearId { get; set; }

    [Column("ACADEMIC_YEAR_NAME")]
    [StringLength(15)]
    public string? AcademicYearName { get; set; }

    [Column("YEAR_SEMESTER_ID")]
    public int? YearSemesterId { get; set; }

    [Column("YEAR_SEMESTER_NAME")]
    [StringLength(15)]
    public string? YearSemesterName { get; set; }

    [Column("STUDENT_EDULEVEL_ID")]
    public int? StudentEdulevelId { get; set; }

    [Column("STUDENT_EDULEVEL_NAME")]
    [StringLength(25)]
    public string? StudentEdulevelName { get; set; }

    [Column("STUDENT_GROUP")]
    [StringLength(15)]
    public string? StudentGroup { get; set; }

    [Column("SUBJECT_ID")]
    public int? SubjectId { get; set; }

    [Column("SUBJECT_NAME")]
    [StringLength(50)]
    public string? SubjectName { get; set; }

    [Column("TEACHER_ID")]
    public int? TeacherId { get; set; }

    [Column("TEACHER_NAME")]
    [StringLength(50)]
    public string? TeacherName { get; set; }

    [Column("TEACHER_DEPARTMENT_ID")]
    public int? TeacherDepartmentId { get; set; }

    [Column("TEACHER_DEPARTMENT")]
    [StringLength(50)]
    public string? TeacherDepartment { get; set; }

    [Column("TEACHER_USERID")]
    [StringLength(50)]
    public string? TeacherUserid { get; set; }

    [Column("TEACHER_EMAIL")]
    [StringLength(50)]
    public string? TeacherEmail { get; set; }

    [Column("REQUEST_DATE", TypeName = "datetime")]
    public DateTime? RequestDate { get; set; }

    [Column("SIGNED_DATE", TypeName = "datetime")]
    public DateTime? SignedDate { get; set; }

    [Column("SIGNATORY_ID")]
    public int? SignatoryId { get; set; }

    [Column("SIGNATORY_NAME")]
    [StringLength(50)]
    public string? SignatoryName { get; set; }

    [Column("SIGNATORY_INSTITUTE_ID")]
    public int? SignatoryInstituteId { get; set; }

    [Column("SIGNATORY_INSTITUTE")]
    [StringLength(50)]
    public string? SignatoryInstitute { get; set; }

    [Column("SIGNATORY_USERID")]
    public int? SignatoryUserid { get; set; }

    [Column("SIGNATORY_EMAIL")]
    [StringLength(50)]
    public string? SignatoryEmail { get; set; }

    [Column("DOC_COMMENTS")]
    [StringLength(512)]
    public string? DocComments { get; set; }
}
