Beispiel #1
0
 private void UpdateProgrammingAction(IPsdzTransactionEvent psdzEvent)
 {
     try
     {
         EcuProgrammingInfo correspondingEcu = this.GetCorrespondingEcu(psdzEvent);
         if (correspondingEcu != null)
         {
             PsdzTransactionInfo transactionInfo = psdzEvent.TransactionInfo;
             PsdzTaCategories    transactionType = psdzEvent.TransactionType;
             if (transactionType != PsdzTaCategories.FscDeploy)
             {
                 if (transactionType != PsdzTaCategories.SFADeploy)
                 {
                     ProgrammingActionType? programmingActionType  = this.Map(transactionType);
                     ProgrammingActionState?programmingActionState = this.Map(transactionInfo);
                     if (programmingActionType != null && programmingActionState != null)
                     {
                         correspondingEcu.UpdateSingleProgrammingAction(programmingActionType.Value, programmingActionState.Value, false);
                         return;
                     }
                     return;
                 }
             }
             IEnumerable <IPsdzTalLine> talLines = from talLine in this.psdzContext.Tal.TalLines
                                                   where talLine.EcuIdentifier.Equals(psdzEvent.EcuId)
                                                   select talLine;
             correspondingEcu.UpdateProgrammingActions(talLines, false, 0);
         }
         return;
     }
     catch (Exception)
     {
     }
 }
Beispiel #2
0
 internal void UpdateProgrammingActions(IPsdzTal tal, int escalationStep)
 {
     foreach (IPsdzEcuIdentifier psdzEcuIdentifier in tal.AffectedEcus)
     {
         EcuProgrammingInfo itemFromProgrammingInfos = this.GetItemFromProgrammingInfos((long)psdzEcuIdentifier.DiagAddrAsInt);
         if (itemFromProgrammingInfos != null)
         {
             IPsdzEcuIdentifier         id       = psdzEcuIdentifier;
             IEnumerable <IPsdzTalLine> talLines = from talLine in tal.TalLines
                                                   where talLine.EcuIdentifier.Equals(id)
                                                   select talLine;
             itemFromProgrammingInfos.UpdateProgrammingActions(talLines, true, escalationStep);
         }
         else
         {
             //Log.Warning("EcuProgrammingInfos.UpdateProgrammingActions", "Could not find ecu programming object for 0x{0:X2}", new object[]
             //{
             //	psdzEcuIdentifier.DiagAddrAsInt
             //});
         }
     }
 }