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

#nullable disable

namespace AsbCloudDb.Model
{
    [Table("t_message"), Comment("Сообщения на буровых")]
    public partial class Message : IId, IIdTelemetryDate
    {
        [Key]
        [Column("id")]
        public int Id { get; set; }

        [Column("id_telemetry")]
        public int IdTelemetry { get; set; }

        [Column("id_event")]
        public int IdEvent { get; set; }

        [Column("id_telemetry_user"), Comment("Пользователь панели отправляющей телеметрию. не пользователь облака.")]
        public int? IdTelemetryUser { get; set; }

        [Column("date", TypeName = "timestamp with time zone")]
        public DateTime Date { get; set; }

        [Column("arg0"), Comment("Аргумент №0 для вставки в шаблон сообщения")]
        [StringLength(255)]
        public string Arg0 { get; set; }

        [Column("arg1")]
        [StringLength(255)]
        public string Arg1 { get; set; }

        [Column("arg2")]
        [StringLength(255)]
        public string Arg2 { get; set; }

        [Column("arg3")]
        [StringLength(255)]
        public string Arg3 { get; set; }

        [ForeignKey(nameof(IdTelemetry))]
        [InverseProperty(nameof(Model.Telemetry.Messages))]
        public virtual Telemetry Telemetry { get; set; }
    }
}