/// <summary> /// This method is used to get the distinct list /// </summary> /// <param name="actionToBeConverted"></param> /// <returns></returns> private IObservableList GetDistinctList(ObservableList <ConvertableActionDetails> actionToBeConverted) { ObservableList <ConvertableActionDetails> list = new ObservableList <ConvertableActionDetails>(); foreach (var act in actionToBeConverted) { ConvertableActionDetails det = list.Where(x => x.SourceActionTypeName == act.SourceActionTypeName && x.TargetActionTypeName == act.TargetActionTypeName).FirstOrDefault(); if (det == null) { list.Add(act); } } return(list); }
private void btnShowConvertibleActionTypes_Click(object sender, RoutedEventArgs e) { // clearing the list of actions to be converted before clicking on Convertible Actions buttons again to reflect the fresh list of convertible actions lstActionToBeConverted.Clear(); // fetching list of selected convertible activities from the first grid List <Activity> lstSelectedActivities = mBusinessFlow.Activities.Where(x => x.SelectedForConversion).ToList(); if (lstSelectedActivities.Count != 0) { foreach (Activity convertibleActivity in lstSelectedActivities) { foreach (Act act in convertibleActivity.Acts) { if ((act is IObsoleteAction) && (((IObsoleteAction)act).IsObsoleteForPlatform(act.Platform)) && (act.Active)) { ConvertableActionDetails existingConvertibleActionType = lstActionToBeConverted.Where(x => x.SourceActionType == act.GetType() && x.TargetActionTypeName == ((IObsoleteAction)act).TargetActionTypeName()).FirstOrDefault(); if (existingConvertibleActionType == null) { ConvertableActionDetails newConvertibleActionType = new ConvertableActionDetails(); newConvertibleActionType.SourceActionTypeName = act.ActionDescription.ToString(); newConvertibleActionType.SourceActionType = act.GetType(); newConvertibleActionType.TargetActionType = ((IObsoleteAction)act).TargetAction(); if (newConvertibleActionType.TargetActionType == null) { continue; } newConvertibleActionType.TargetActionTypeName = ((IObsoleteAction)act).TargetActionTypeName(); newConvertibleActionType.ActionCount = 1; newConvertibleActionType.Actions.Add(act); newConvertibleActionType.ActivityList.Add(convertibleActivity.ActivityName); lstActionToBeConverted.Add(newConvertibleActionType); } else { if (!existingConvertibleActionType.Actions.Contains(act)) { existingConvertibleActionType.ActionCount++; existingConvertibleActionType.Actions.Add(act); existingConvertibleActionType.ActivityList.Add(convertibleActivity.ActivityName); } } } } } if (lstActionToBeConverted.Count != 0) { gridConvertibleActions.DataSourceList = lstActionToBeConverted; SetGridView(); gridConvertibleActions.Visibility = Visibility.Visible; btnConvert.Visibility = Visibility.Visible; conversionConfigLblPanel.Visibility = Visibility.Visible; conversionConfigRadBtnPanel.Visibility = Visibility.Visible; conversionBtnPanel.Visibility = Visibility.Visible; return; } else { gridConvertibleActions.Visibility = Visibility.Collapsed; btnConvert.Visibility = Visibility.Collapsed; conversionConfigLblPanel.Visibility = Visibility.Collapsed; conversionConfigRadBtnPanel.Visibility = Visibility.Collapsed; Reporter.ToUser(eUserMsgKey.NoConvertibleActionsFound); return; } } else { gridConvertibleActions.Visibility = Visibility.Collapsed; } btnConvert.Visibility = Visibility.Collapsed; conversionConfigLblPanel.Visibility = Visibility.Collapsed; conversionConfigRadBtnPanel.Visibility = Visibility.Collapsed; Reporter.ToUser(eUserMsgKey.NoActivitySelectedForConversion); }