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

namespace InitializerModel
{
    public class EvseSettingConfigModel : ObservableObject
    {
        public string ModelName { get; set; }
        public bool IsModelNameLength15 => string.IsNullOrEmpty(ModelName) ? false : ModelName.Length == 15;
        public string FourGenModuleVersion { get; set; }
        public string SubFourGenModuleVersion { get; set; }
        public bool IsSimInsert { get; set; }
        public string SimICCID { get; set; }
        public string SimIMSI { get; set; }
        public bool IsSubSimInsert { get; set; }
        public string SubSimICCID { get; set; }
        public string SubSimIMSI { get; set; }
        public ButtonTestModeType ButtonTestMode { get; set; }
        public string IpAddress { get; set; }
        public bool IsDisableAuthRequired { get; set; }
        public bool IsIdleCheckPass { get; set; }
        public List<FirmwareUpdateModel> FirmwareUpdateList { get; set; }
        public List<FirmwareUpdateModel> PreFlashFirmwareUpdateList { get; set; }
    }

    public enum ButtonTestModeType
    {
        TwoButtonsWithEmergencyButton,
        SkipButtonTest,
        EmergencyButtonOnly,
        TwoButtons,
        ThreeButtonsWithEmergencyButton,
    }
}