Пример #1
0
 internal bool UpdateSingleProgrammingAction(ProgrammingActionType type, ProgrammingActionState state, bool executed)
 {
     using (IEnumerator <ProgrammingAction> enumerator = this.programmingActionList.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ProgrammingAction programmingAction = enumerator.Current;
             if (programmingAction.Type == type)
             {
                 programmingAction.UpdateState(state, executed);
                 return(true);
             }
         }
         return(false);
     }
 }
Пример #2
0
        internal ProgrammingAction AddSingleProgrammingAction(ProgrammingActionType type, bool isSelected, int order, string channel, string assemblyNumberSetPoint, IList <SgbmIdChange> sgbmIdList = null, string extraTitle = null)
        {
            bool isExpertModeEnabled            = true;
            ProgrammingAction programmingAction = new ProgrammingAction(this.Ecu, type, isExpertModeEnabled, order);

            programmingAction.Select(isSelected);
            programmingAction.Channel = channel;
            programmingAction.Note    = ((this.Category != null) ? this.Category : string.Empty);
            if (sgbmIdList != null)
            {
                programmingAction.SgbmIds.AddRange(sgbmIdList);
            }
            if (!string.IsNullOrEmpty(extraTitle))
            {
                ProgrammingAction programmingAction2 = programmingAction;
                programmingAction2.Title = programmingAction2.Title + Environment.NewLine + extraTitle;
            }
            this.programmingActionList.Add(programmingAction);
            this.data.ProgrammingActionData.Add(programmingAction.DataContext);
            return(programmingAction);
        }
Пример #3
0
        internal void UpdateProgrammingActions(IEnumerable <IPsdzTalLine> talLines, bool isTalExecuted, int escalationSteps = 0)
        {
            IDictionary <ProgrammingActionType, ICollection <IPsdzTalLine> > dictionary = new Dictionary <ProgrammingActionType, ICollection <IPsdzTalLine> >();

            foreach (IPsdzTalLine psdzTalLine in talLines)
            {
                foreach (ProgrammingActionType key in EcuProgrammingInfo.MapProgrammingActionType(psdzTalLine))
                {
                    if (dictionary.ContainsKey(key))
                    {
                        dictionary[key].Add(psdzTalLine);
                    }
                    else
                    {
                        dictionary.Add(key, new List <IPsdzTalLine>
                        {
                            psdzTalLine
                        });
                    }
                }
            }
            foreach (ProgrammingActionType programmingActionType in dictionary.Keys)
            {
                ProgrammingAction programmingAction = this.GetProgrammingAction(programmingActionType) as ProgrammingAction;
                if (programmingAction != null)
                {
                    if (isTalExecuted)
                    {
                        programmingAction.Update(dictionary[programmingActionType], escalationSteps);
                    }
                    else
                    {
                        programmingAction.UpdateState(dictionary[programmingActionType]);
                    }
                }
            }
        }