private TypeListDifferences ValidateTargetTypes(ImportResultsContainer irc) { var abilityTargetTypes = irc.AbilityRows.Select(ar => ar.Target.Split(",".ToCharArray())). SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList(); var commandTargetTypes = irc.CommandRows.Select(ar => ar.Target.Split(",".ToCharArray())). SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList(); var otherTargetTypes = irc.OtherRows.Where(ar => !String.IsNullOrWhiteSpace(ar.Type)).Select(ar => ar.Target.Split(",".ToCharArray())). SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList(); var soulBreakTargetTypes = irc.SoulBreakRows.Select(ar => ar.Target.Split(",".ToCharArray())). SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList(); var limitBreakTargetTypes = irc.LimitBreakRows.Select(ar => ar.Target.Split(",".ToCharArray())). SelectMany(el => el).Select(s => s.Trim()).Distinct().OrderBy(e => e).ToList(); //TargetTypes - source var unifiedTargetTypesList = abilityTargetTypes.Union(commandTargetTypes).Union(otherTargetTypes).Union(soulBreakTargetTypes). Union(limitBreakTargetTypes).OrderBy(e => e); //TargetTypes - id list var targetTypesIdList = new TargetTypeList(); var targetTypesIdListTargetTypeNames = targetTypesIdList.TypeList.Where(il => il.Key != 0).Select(kvp => kvp.Value).ToList(); TypeListDifferences targetTypesDifferences = new TypeListDifferences() { IdListName = nameof(TargetTypeList), ValuesMissingFromIdList = unifiedTargetTypesList.Except(targetTypesIdListTargetTypeNames).ToList(), ValuesSuperfluousInIdList = targetTypesIdListTargetTypeNames.Except(unifiedTargetTypesList).ToList(), SuggestedIdListContents = GenerateSuggestedIdListContents(unifiedTargetTypesList) }; return(targetTypesDifferences); }
private void FrmMarkingSet_Load(object sender, EventArgs e) { mScreenModeList = TargetTypeList.GetInstance().mScreenModeList; comboBoxEditScreenMode.Properties.Items.Clear(); foreach (var screenMode in mScreenModeList) { comboBoxEditScreenMode.Properties.Items.Add(screenMode.SYSDICT_NAME); } //comboBoxEditScreenMode.SelectedIndex = 3; mLaneNumberList = TargetTypeList.GetInstance().mLaneNumberList; comboBoxEditLaneNumber.Properties.Items.Clear(); foreach (var laneNumber in mLaneNumberList) { comboBoxEditLaneNumber.Properties.Items.Add(laneNumber.SYSDICT_NAME); } //comboBoxEditLaneNumber.SelectedIndex = 2; mLaneTypeList = TargetTypeList.GetInstance().mLaneTypeList; comboBoxEdit_LaneType1.Properties.Items.Clear(); comboBoxEdit_LaneType2.Properties.Items.Clear(); comboBoxEdit_LaneType3.Properties.Items.Clear(); comboBoxEdit_LaneType4.Properties.Items.Clear(); comboBoxEdit_TrafficLane1.Properties.Items.Clear(); comboBoxEdit_TrafficLane2.Properties.Items.Clear(); comboBoxEdit_TrafficLane3.Properties.Items.Clear(); comboBoxEdit_TrafficLane4.Properties.Items.Clear(); foreach (var laneType in mLaneTypeList) { comboBoxEdit_LaneType1.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_LaneType2.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_LaneType3.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_LaneType4.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_TrafficLane1.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_TrafficLane2.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_TrafficLane3.Properties.Items.Add(laneType.SYSDICT_NAME); comboBoxEdit_TrafficLane4.Properties.Items.Add(laneType.SYSDICT_NAME); } }