using Newtonsoft.Json;
using SqlSugar;
using SqlSugar.TDengine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HealthMonitor.Model.Service.Mapper
{
    [STableAttribute(STableName = "stb_hm_pregnancy_heart_rate")]
    public class PregnancyHeartRateModel
    {
        [JsonProperty("ts")]
        [SqlSugar.SugarColumn(IsPrimaryKey = true, ColumnName = "ts", SqlParameterDbType = typeof(DateTime19))]
        public DateTime Timestamp { get; set; }

        [JsonProperty("pregnancy_heart_rate_id")]
        [SqlSugar.SugarColumn(ColumnName = "pregnancy_heart_rate_id")]
        public string PregnancyHeartRateId { get; set; } = default!;

        [JsonProperty("message_id")]
        [SqlSugar.SugarColumn(ColumnName = "message_id")]
        public string MessageId { get; set; } = default!;


        [JsonProperty("person_id")]
        [SqlSugar.SugarColumn(ColumnName = "person_id")]
        public string PersonId { get; set; } = default!;

        [JsonProperty("serialno")]
        [SqlSugar.SugarColumn(ColumnName = "serialno")]
        public string SerialNumber { get; set; } = default!;

        [JsonProperty("pregnancy_heart_rate")]
        [SqlSugar.SugarColumn(ColumnName = "pregnancy_heart_rate")]
        public int PregnancyHeartRate { get; set; }

        [JsonProperty("create_time")]
        [SqlSugar.SugarColumn(ColumnName = "create_time")]
        public DateTime CreateTime { get; set; }

        [JsonProperty("last_update")]
        [SqlSugar.SugarColumn(ColumnName = "last_update")]
        public DateTime LastUpdate { get; set; }

        [JsonProperty("method")]
        [SqlSugar.SugarColumn(ColumnName = "method")]
        public byte Method { get; set; }

        [JsonProperty("is_display")]
        [SqlSugar.SugarColumn(ColumnName = "is_display")]
        public bool IsDisplay { get; set; }

        [JsonProperty("device_key")]
        [SqlSugar.SugarColumn(ColumnName = "device_key")]
        public string DeviceKey { get; set; } = default!;

        [JsonProperty("serial_tail_no")]
        [SqlSugar.SugarColumn(IsIgnore = true, ColumnName = "serial_tail_no")]
        public string SerialTailNumber { get; set; } = default!;
    }
}