using AwInitilizer.Model; using MesAdaptor; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AwInitilizer.Converter { public static class MesErrorCodeMaper { public static MesErrorCode GetMesErrorCode(Procedure.ProcedureBase procedure) { switch(procedure.GetType().Name) { case "BasicInfoUpdateProcedure": return GetMesErrorCode((Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure)procedure); case "FourGenModuleCheckProcedure": return GetMesErrorCode((Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure)procedure); case "WifRssiCheckProcedure": return GetMesErrorCode((Procedure.WifRssiCheck.WifRssiCheckProcedure)procedure); case "FirmwareBundleUploadProcedure": return GetMesErrorCode((Procedure.FirmwareBundleUpload.FirmwareBundleUploadProcedure)procedure); case "FirmwareCheckVersionProcedure": return GetMesErrorCode((Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure)procedure); case "ButtonStatusCheckPorcedure": return GetMesErrorCode((Procedure.ButtonStatusCheck.ButtonStatusCheckPorcedure)procedure); case "RestarttoIdleProcedure": return GetMesErrorCode((Procedure.RestarttoIdle.RestarttoIdleProcedure)procedure); case "VersionLogProcedure": return GetMesErrorCode((Procedure.VersionLog.VersionLogProcedure)procedure); default: return MesErrorCode.None; } } public static MesErrorCode GetMesErrorCode(Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure procedure) { switch(procedure.Error) { case Procedure.BasicInfoUpdate.ErrorType.EvseConnectFail: case Procedure.BasicInfoUpdate.ErrorType.SettingSaveFail: case Procedure.BasicInfoUpdate.ErrorType.RestartConnectFail: return MesErrorCode.ChargerConnectFail; case Procedure.BasicInfoUpdate.ErrorType.ModelNameWriteFail: case Procedure.BasicInfoUpdate.ErrorType.ModelNameGetFail: case Procedure.BasicInfoUpdate.ErrorType.ModelNameMismach: return MesErrorCode.ModelNameUpadateFail; case Procedure.BasicInfoUpdate.ErrorType.SerialNumberWriteFail: case Procedure.BasicInfoUpdate.ErrorType.SerialNumberGetFail: case Procedure.BasicInfoUpdate.ErrorType.SerialNumberMismach: return MesErrorCode.ModelNameUpadateFail; case Procedure.BasicInfoUpdate.ErrorType.RtcUpdateFail: case Procedure.BasicInfoUpdate.ErrorType.UtcTimeMismatch: return MesErrorCode.ModelNameUpadateFail; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure procedure) { switch(procedure.Error) { case Procedure.FourGenModuleCheck.ErrorType.ConnectFail: case Procedure.FourGenModuleCheck.ErrorType.VersionReadFail: case Procedure.FourGenModuleCheck.ErrorType.SimStatusReadFail: return MesErrorCode.ChargerConnectFail; case Procedure.FourGenModuleCheck.ErrorType.VersionMismatch: return MesErrorCode.FourthGenModelVersionMismatch; case Procedure.FourGenModuleCheck.ErrorType.SimStatusMismatch: return MesErrorCode.FourthGenSimInstartionMismatch; case Procedure.FourGenModuleCheck.ErrorType.IccidMistach: case Procedure.FourGenModuleCheck.ErrorType.ImsiMistach: return MesErrorCode.FourthGenSimInfoMismatch; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.WifRssiCheck.WifRssiCheckProcedure procedure) { switch(procedure.Error) { case Procedure.WifRssiCheck.ErrorType.WifiModeDataNotFound: case Procedure.WifRssiCheck.ErrorType.WifiRssiDataNotFound: return MesErrorCode.ChargerConnectFail; case Procedure.WifRssiCheck.ErrorType.WifiModeNotClient: return MesErrorCode.WifiModeNotClient; case Procedure.WifRssiCheck.ErrorType.WifiRssiLow: return MesErrorCode.WifiRssiLow; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.FirmwareBundleUpload.FirmwareBundleUploadProcedure procedure) { switch(procedure.Error) { case Procedure.FirmwareBundleUpload.ErrorType.StartWaitTimeout: case Procedure.FirmwareBundleUpload.ErrorType.UploadFailed: case Procedure.FirmwareBundleUpload.ErrorType.SignalUpdateFailed: return MesErrorCode.FirmwareUploadFail; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure procedure) { switch(procedure.Error) { case Procedure.FirmwareCheckVersion.ErrorType.RestartTimeout: return MesErrorCode.FirmwareUpdateTimeout; case Procedure.FirmwareCheckVersion.ErrorType.VersionCheckFail: return MesErrorCode.FirmwareVersionCheckFail; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.ButtonStatusCheck.ButtonStatusCheckPorcedure procedure) { switch(procedure.Error) { case Procedure.ButtonStatusCheck.ErrorType.ConnectFail: case Procedure.ButtonStatusCheck.ErrorType.GetStatusFail: return MesErrorCode.ChargerConnectFail; case Procedure.ButtonStatusCheck.ErrorType.FirstButtonCheckFail: return MesErrorCode.GreenButtonTestFail; case Procedure.ButtonStatusCheck.ErrorType.SecondButtonCheckFail: return MesErrorCode.BlueButtonTestFail; case Procedure.ButtonStatusCheck.ErrorType.EmergencyButtonCheckFail: return MesErrorCode.EmergencyButtonTestFail; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.RestarttoIdle.RestarttoIdleProcedure procedure) { switch(procedure.Error) { case Procedure.RestarttoIdle.ErrorType.SetFail: case Procedure.RestarttoIdle.ErrorType.ConnectorNotIdle: return MesErrorCode.FactoryResetFail; } return MesErrorCode.None; } public static MesErrorCode GetMesErrorCode(Procedure.VersionLog.VersionLogProcedure procedure) { if (procedure.Error == Procedure.VersionLog.VersionLogProcedure.ErrorType.ReadVersionFail) return MesErrorCode.ChargerConnectFail; return MesErrorCode.None; } } }