private void MenuContextuelCreerEtape_Click(object sender, RoutedEventArgs e) { try { //On prend la dernière étape du datagrid IOrderedEnumerable <CsRAffectationEtapeWorkflow> dtGridRAff = dtgrdParametre.ItemsSource as IOrderedEnumerable <CsRAffectationEtapeWorkflow>; CsRAffectationEtapeWorkflow lastStep = null; if (null != dtGridRAff) { lastStep = dtGridRAff.LastOrDefault(); } CsEtape beforeStep = null; if (null != lastStep) { beforeStep = _ttsLesEtapes.Where(st => st.PK_ID == lastStep.FK_IDETAPE) .FirstOrDefault(); } //Appel récursive de cette même fenêtre pour configurer le circuit de détournement //causé par la condition sur l'étape courante d'origine //Mais pour le moment, pas de condition à un deuxième niveau UcWKFSelectEtape uctl = new UcWKFSelectEtape(_ttsLesEtapes, beforeStep, StepAllReadyChoosed, dtgrdParametre, _workingTable, _LesGroupesValidation, false); uctl.Closing += uctl_Closing; uctl.Show(); } catch (Exception ex) { throw ex; } }
private void Modifier_Click(object sender, RoutedEventArgs e) { try { if (dtgrdParametre.SelectedItem != null) { //Appel récursif de la même fenêtre var objetselectionne = (CsRAffectationEtapeWorkflow)dtgrdParametre.SelectedItem; if (null != objetselectionne) { IOrderedEnumerable <CsRAffectationEtapeWorkflow> dtGridRAff = dtgrdParametre.ItemsSource as IOrderedEnumerable <CsRAffectationEtapeWorkflow>; CsRAffectationEtapeWorkflow lastStep = null; if (null != dtGridRAff) { lastStep = dtGridRAff.Where(aff => aff.ORDRE < objetselectionne.ORDRE) .OrderBy(a => a.ORDRE) .LastOrDefault(); } CsEtape beforeStep = null; if (null != lastStep) { beforeStep = _ttsLesEtapes.Where(st => st.PK_ID == lastStep.FK_IDETAPE) .FirstOrDefault(); } List <CsEtape> IlFautQuandMemeAjouterLaMemeEtapePourQuellePuisseEtreSelecionneeDansLaFenetreDeConfiguration = new List <CsEtape>(); StepAllReadyChoosed.ForEach((CsEtape etap) => { if (etap.PK_ID != objetselectionne.FK_IDETAPE) { IlFautQuandMemeAjouterLaMemeEtapePourQuellePuisseEtreSelecionneeDansLaFenetreDeConfiguration.Add(etap); } }); KeyValuePair <CsRAffectationEtapeWorkflow, CsConditionBranchement> leAffChoosed = new KeyValuePair <CsRAffectationEtapeWorkflow, CsConditionBranchement>( objetselectionne, _RelationAffectationEtapeCondition[objetselectionne.PK_ID]); //pour le moment, pas de condition à un deuxième niveau UcWKFSelectEtape form = new UcWKFSelectEtape(_ttsLesEtapes, beforeStep, IlFautQuandMemeAjouterLaMemeEtapePourQuellePuisseEtreSelecionneeDansLaFenetreDeConfiguration, dtgrdParametre, _workingTable, _LesGroupesValidation, leAffChoosed, SessionObject.ExecMode.Modification, false); form.Closing += uctl_Closing; form.Show(); } } } catch (Exception ex) { Message.Show(ex.Message, Languages.FenetreOperation); } }