//-------------------------------------------------
 private void AddNewByDragDrop(CBlocWorkflow bloc)
 {
     if (bloc != null)
     {
         CDonneeDragDropObjetGraphique data = new CDonneeDragDropObjetGraphique(Name, new CDummyObjetWorkflowPourCreation(bloc));
         DoDragDrop(data, DragDropEffects.Copy);
     }
 }
示例#2
0
 //------------------------------------------------------------------
 public CDummyObjetWorkflowPourCreation(CBlocWorkflow bloc)
     : base()
 {
     if (bloc != null)
     {
         m_typeBloc = bloc.GetType();
         Size       = bloc.DefaultSize;
     }
 }
        //-------------------------------------------------
        void itemNewBloc_MouseDown(object sender, MouseEventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;
            CBlocWorkflow     bloc = item != null ? item.Tag as CBlocWorkflow : null;

            if (bloc != null)
            {
                AddNewByDragDrop(bloc);
            }
        }
 //------------------------------------------------------------------
 private void EditeCurrentEtape()
 {
     if (m_gestionnaireModeEdition.ModeEdition)
     {
         CWorkflowEtapeDessin etape = m_panelWorkflow.EtapeSelectionnee;
         if (etape != null && etape.TypeEtape != null)
         {
             System.Console.WriteLine("Edition de " + etape.TypeEtape.Libelle);
             CBlocWorkflow bloc = etape.TypeEtape.Bloc;
             if (CAllocateurEditeurBlocWorkflow.EditeBloc(bloc))
             {
                 System.Console.WriteLine("Maj champ de " + etape.TypeEtape.Libelle);
                 etape.TypeEtape.Bloc = bloc;
             }
         }
     }
 }
 //----------------------------------------------------------------------
 private void AddMenuBloc(Type tp)
 {
     try
     {
         CBlocWorkflow bloc = Activator.CreateInstance(tp, new object[0]) as CBlocWorkflow;
         if (bloc != null)
         {
             ToolStripMenuItem itemNewBloc = new ToolStripMenuItem(bloc.BlocName);
             itemNewBloc.Tag    = bloc;
             itemNewBloc.Image  = bloc.BlocImage;
             itemNewBloc.Height = bloc.BlocImage != null ? bloc.BlocImage.Height : itemNewBloc.Height;
             m_menuBlocs.Items.Add(itemNewBloc);
             itemNewBloc.MouseDown += new MouseEventHandler(itemNewBloc_MouseDown);
         }
     }
     catch { }
 }
        public static bool EditeBloc(CBlocWorkflow bloc)
        {
            if (bloc == null)
            {
                return(false);
            }
            Type tpForm = null;

            if (m_dicTypeBlocToTypeEditeur.TryGetValue(bloc.GetType(), out tpForm))
            {
                IEditeurBlocWorkflow editeur = Activator.CreateInstance(tpForm, new object[0]) as IEditeurBlocWorkflow;
                if (editeur != null)
                {
                    return(editeur.EditeBloc(bloc));
                }
            }
            return(false);
        }
 //------------------------------------------------------------------
 private void m_panelWorkflow_DoubleClicSurElement(object sender, EventArgs e)
 {
     if (!LockEdition)
     {
         EditeCurrentEtape();
     }
     else
     {
         CWorkflowEtapeDessin etape = m_panelWorkflow.EtapeSelectionnee;
         if (etape == null)
         {
             return;
         }
         CBlocWorkflow         bloc         = etape.TypeEtape != null ? etape.TypeEtape.Bloc : null;
         CBlocWorkflowWorkflow blocWorkflow = bloc as CBlocWorkflowWorkflow;
         if (blocWorkflow != null && blocWorkflow.DbKeyTypeWorkflow != null)
         {
             CTypeWorkflow typeWorkflow = new CTypeWorkflow(CSc2iWin32DataClient.ContexteCourant);
             if (typeWorkflow.ReadIfExists(blocWorkflow.DbKeyTypeWorkflow))
             {
                 CFormNavigateur navigateur = CFormNavigateur.FindNavigateur(this);
                 if (navigateur != null)
                 {
                     CReferenceTypeForm refFrm = CFormFinder.GetRefFormToEdit(typeof(CTypeWorkflow));
                     if (refFrm != null)
                     {
                         CFormEditionStandard frm = refFrm.GetForm(typeWorkflow) as CFormEditionStandard;
                         if (frm != null)
                         {
                             navigateur.AffichePage(frm);
                         }
                     }
                 }
             }
         }
     }
 }
 //-------------------------------------------------------
 public bool EditeBloc(CBlocWorkflow bloc)
 {
     return(CFormEditionBlocWorkflowProjet.EditeBloc(bloc as CBlocWorkflowProjet));
 }
示例#9
0
 //-------------------------------------------------------
 public bool EditeBloc(CBlocWorkflow bloc)
 {
     return(CFormEditionBlocWorkflowWorkflow.EditeBloc(bloc as CBlocWorkflowWorkflow));
 }
        //-----------------------------------------------------------------------------
        public CResultAErreur AfficheEtape(CEtapeWorkflow etape, bool bDansNouvelOnglet)
        {
            CResultAErreur result = CResultAErreur.True;


            if (etape == null || etape.TypeEtape == null)
            {
                return(result);
            }
            //Vérifie que l'étape est bien affectée à l'utilisateur
            string[] strCodes = CUtilSession.GetCodesAffectationsEtapeConcernant(etape.ContexteDonnee.ContexteDonnee);
            CAffectationsEtapeWorkflow affs = etape.Affectations;
            bool bIsAffectée = false;

            foreach (string strCode in strCodes)
            {
                if (affs.Contains(strCode))
                {
                    bIsAffectée = true;
                    break;
                }
            }
            if (bIsAffectée)
            {
                CBlocWorkflow bloc = etape.TypeEtape.Bloc;
                if (bloc is CBlocWorkflowFormulaire)
                {
                    result = AfficheEtapeFormulaire(etape, bDansNouvelOnglet);
                }
                else if (bloc is CBlocWorkflowProcess)
                {
                    using (CContexteDonnee ctxt = new CContexteDonnee(etape.ContexteDonnee.IdSession, true, false))
                    {
                        etape  = etape.GetObjetInContexte(ctxt) as CEtapeWorkflow;
                        result = ((CBlocWorkflowProcess)bloc).StartProcess(etape);
                    }
                }
                if (!result)
                {
                    EModeGestionErreurEtapeWorkflow mode = CFormErreurOnWorkflowStep.OnError(result,
                                                                                             bloc.ModeGestionErreur);
                    if (mode != EModeGestionErreurEtapeWorkflow.DoNothing)
                    {
                        using (CContexteDonnee ctx = new CContexteDonnee(etape.ContexteDonnee.IdSession, true, false))
                        {
                            CEtapeWorkflow etapeInContexte = etape.GetObjetInContexte(ctx) as CEtapeWorkflow;
                            switch (mode)
                            {
                            case EModeGestionErreurEtapeWorkflow.CancelStep:
                                etapeInContexte.CancelStep();
                                break;

                            case EModeGestionErreurEtapeWorkflow.EndStep:
                                result = etapeInContexte.EndEtapeNoSave();
                                if (!result)
                                {
                                    result.EmpileErreur(I.T("Can not end step|20766"));
                                    CFormAlerte.Afficher(result.Erreur);
                                    return(result);
                                }
                                break;

                            case EModeGestionErreurEtapeWorkflow.SetError:
                                etapeInContexte.EtatCode  = (int)EEtatEtapeWorkflow.Erreur;
                                etapeInContexte.LastError = result.Erreur.ToString();
                                etapeInContexte.DateFin   = null;
                                break;
                            }
                            result = ctx.SaveAll(true);
                        }
                    }
                }
            }
            else
            {
                CFormAlerte.Afficher(I.T("You are not allowed to display this step|20620"));
            }
            return(result);
        }
示例#11
0
 //-------------------------------------------------------
 public bool EditeBloc(CBlocWorkflow bloc)
 {
     return(CFormEditionBlocWorkflowStopStep.EditeBloc(bloc as CBlocWorkflowStopStep));
 }
示例#12
0
 //-------------------------------------------------------
 public bool EditeBloc(CBlocWorkflow bloc)
 {
     return(CFormEditionBlocWorkflowAttente.EditeBloc(bloc as CBlocWorkflowAttente));
 }
 //-------------------------------------------------------
 public bool EditeBloc(CBlocWorkflow bloc)
 {
     return(CFormEditionBlocWorkflowFormulaire.EditeBloc(bloc as CBlocWorkflowFormulaire));
 }