Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }