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); } }
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); }
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]); } } } }