namespace SafeCampus.System;
/// <summary>
/// 学生宿舍楼表
/// </summary>
[SugarTable("BuildingInfo", TableDescription = "学生宿舍楼表")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
[BatchEdit]
[CodeGen]
//[IgnoreInitTable]
public class BuildingInfo : PrimaryKeyEntity
{
    /// <summary>
    /// 宿舍楼名称
    /// </summary>
    [SugarColumn(ColumnName = "Name", ColumnDescription = "宿舍楼名称", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = false)]
    public string Name { get; set; }
    /// <summary>
    /// 男寝还是女寝
    /// </summary>
    [SugarColumn(ColumnName = "Gender", ColumnDescription = "宿舍楼类型", IsNullable = false)]
    public bool Gender { get; set; }
    /// <summary>
    /// 创建时间
    /// </summary>
    [SugarColumn(ColumnName = "CreateTime", ColumnDescription = "创建时间", IsOnlyIgnoreUpdate = true, IsNullable = true)]
    public DateTime CreateTime { get; set; }
    /// <summary>
    /// 进入摄像头id
    /// </summary>
    [SugarColumn(ColumnName = "InsCameraId", ColumnDescription = "进入摄像头id", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
    public string InsCameraId { get; set; }
    /// <summary>
    /// 出去摄像头id
    /// </summary>
    [SugarColumn(ColumnName = "OutCameraId", ColumnDescription = "出去摄像头id", ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
    public string OutCameraId { get; set; }
    /// <summary>
    /// 进入摄像头
    /// </summary>
    [Navigate(NavigateType.OneToOne, nameof(InsCameraId), nameof(CameraInfo.SensorId))]
    public CameraInfo InsCameraInfoItem { get; set; }
    /// <summary>
    /// 出去摄像头
    /// </summary>
    [Navigate(NavigateType.OneToOne, nameof(OutCameraId), nameof(CameraInfo.SensorId))]
    public CameraInfo OutCameraInfoItem { get; set; }
}