using System;
using System.Collections.Generic;

namespace EVCB_OCPP.Domain.Models.MainDb;

public partial class Machine
{
    public Machine()
    {
        Id = Guid.NewGuid().ToString();
        ChargePointSerialNumber = string.Empty;
        ChargeBoxSerialNumber = string.Empty;
        ChargePointModel = string.Empty;
        ChargePointVendor = string.Empty;
        Iccid = string.Empty;
        Imsi = string.Empty;
        MeterType = string.Empty;
        MeterSerialNumber = string.Empty;
        CreatedBy = string.Empty;
        Comment = string.Empty;
        HeartbeatUpdatedOn = new DateTime(1991, 1, 1);
    }

    public string Id { get; set; }

    public string ChargePointSerialNumber { get; set; }

    public string ChargeBoxSerialNumber { get; set; }

    public string ChargePointModel { get; set; }

    public string ChargePointVendor { get; set; }

    public string Iccid { get; set; }

    public string Imsi { get; set; }

    public string MeterType { get; set; }

    public string MeterSerialNumber { get; set; }

    public DateTime CreatedOn { get; set; }

    public string CreatedBy { get; set; }

    public string Comment { get; set; }

    public Guid CustomerId { get; set; }

    public int GunAmt { get; set; }

    public DateTime HeartbeatUpdatedOn { get; set; }

    public int? FwVersionReport { get; set; }

    public int? FwAssignedVersion { get; set; }

    public bool Online { get; set; }

    public DateTime? OfflineOn { get; set; }

    public string FwCurrentVersion { get; set; }

    public string ChargeBoxId { get; set; }

    public int ConnectionType { get; set; }

    public decimal RatedPower { get; set; }

    public string ConnectorType { get; set; }

    public string ConnectorPowerType { get; set; }

    public decimal Latitude { get; set; }

    public decimal Longitude { get; set; }

    public string VendorId { get; set; }

    public string ModelName { get; set; }

    public string BoardVersions { get; set; }

    public bool IsDelete { get; set; }

    public int Ttiatag { get; set; }

    public virtual Customer Customer { get; set; }
}
