private IList <SgbmIdChange> GetSgbmIds(IPsdzTalLine talLine) { IList <SgbmIdChange> list = new List <SgbmIdChange>(); foreach (IPsdzTa psdzTa in talLine.TaCategory.Tas) { IPsdzSgbmId sgbmId = psdzTa.SgbmId; if (sgbmId != null) { SgbmIdentifier sgbmIdentifier = new SgbmIdentifier(); sgbmIdentifier.ProcessClass = sgbmId.ProcessClass; sgbmIdentifier.Id = sgbmId.IdAsLong; sgbmIdentifier.MainVersion = sgbmId.MainVersion; sgbmIdentifier.SubVersion = sgbmId.SubVersion; sgbmIdentifier.PatchVersion = sgbmId.PatchVersion; list.Add(new SgbmIdChange(this.GetSgbmIdActual(sgbmId), sgbmIdentifier.ToString())); } } return(list); }
private ProgrammingActionState CalculateProgrammingState(IPsdzTalLine talLine) { ProgrammingActionState programmingActionState; if (talLine.TaCategories != PsdzTaCategories.FscDeploy) { programmingActionState = this.MapState(talLine.ExecutionState); } else { programmingActionState = ProgrammingActionState.ActionSuccessful; foreach (IPsdzTa psdzTa in this.GetFscTas(talLine.FscDeploy)) { ProgrammingActionState programmingActionState2 = this.MapState(psdzTa.ExecutionState); if (programmingActionState2.CompareTo(programmingActionState) > 0) { programmingActionState = programmingActionState2; } } } return(programmingActionState); }
internal static ISet <ProgrammingActionType> MapProgrammingActionType(IPsdzTalLine talLine) { ISet <ProgrammingActionType> set = new HashSet <ProgrammingActionType>(); switch (talLine.TaCategories) { case PsdzTaCategories.BlFlash: case PsdzTaCategories.GatewayTableDeploy: case PsdzTaCategories.SwDeploy: set.Add(ProgrammingActionType.Programming); return(set); case PsdzTaCategories.CdDeploy: set.Add(ProgrammingActionType.Coding); return(set); case PsdzTaCategories.FscBackup: set.Add(ProgrammingActionType.FscBakup); return(set); case PsdzTaCategories.FscDeploy: using (IEnumerator <PsdzSwtActionType?> enumerator = (from ta in talLine.FscDeploy.Tas.OfType <PsdzFscDeployTa>() select ta.Action).GetEnumerator()) { while (enumerator.MoveNext()) { PsdzSwtActionType?psdzSwtActionType = enumerator.Current; if (psdzSwtActionType != null) { switch (psdzSwtActionType.GetValueOrDefault()) { case PsdzSwtActionType.ActivateStore: set.Add(ProgrammingActionType.FscStore); continue; case PsdzSwtActionType.ActivateUpdate: case PsdzSwtActionType.ActivateUpgrade: case PsdzSwtActionType.WriteVin: set.Add(ProgrammingActionType.FscActivate); continue; case PsdzSwtActionType.Deactivate: set.Add(ProgrammingActionType.FscDeactivate); continue; } } throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Unsupported FSC action {0}.", psdzSwtActionType)); } return(set); } case PsdzTaCategories.HddUpdate: set.Add(ProgrammingActionType.HddUpdate); return(set); case PsdzTaCategories.HwDeinstall: set.Add(ProgrammingActionType.Unmounting); return(set); case PsdzTaCategories.HwInstall: set.Add(ProgrammingActionType.Mounting); return(set); case PsdzTaCategories.IbaDeploy: set.Add(ProgrammingActionType.IbaDeploy); return(set); case PsdzTaCategories.IdBackup: set.Add(ProgrammingActionType.IdSave); return(set); case PsdzTaCategories.IdRestore: set.Add(ProgrammingActionType.IdRestore); return(set); case PsdzTaCategories.SFADeploy: if (talLine.SFADeploy.Tas.OfType <PsdzSFAWriteTA>().Any <PsdzSFAWriteTA>()) { set.Add(ProgrammingActionType.SFAWrite); } if (talLine.SFADeploy.Tas.OfType <PsdzSFADeleteTA>().Any <PsdzSFADeleteTA>()) { set.Add(ProgrammingActionType.SFADelete); } if (talLine.SFADeploy.Tas.OfType <PsdzSFAVerifyTA>().Any <PsdzSFAVerifyTA>()) { set.Add(ProgrammingActionType.SFAVerfy); return(set); } return(set); case PsdzTaCategories.Unknown: return(set); case PsdzTaCategories.EcuActivate: case PsdzTaCategories.EcuPoll: case PsdzTaCategories.EcuMirrorDeploy: //Log.Warning(Log.CurrentMethod(), string.Format(CultureInfo.InvariantCulture, "Unimplemented TA category type {0}.", talLine.TaCategories), Array.Empty<object>()); return(set); } throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Unsupported TA category type {0}.", talLine.TaCategories)); }