Esempio n. 1
0
        /// ///////////////////////////////////////////
        public override sc2i.common.CResultAErreur RunService(object parametre)
        {
            CResultAErreur result = CResultAErreur.True;

            if (!(parametre is CParametreServiceVisuListeObjets))
            {
                result.EmpileErreur(I.T("Parameter type is not compatible with 'Visualise list' service|1083"));
                return(result);
            }
            m_parametreVisu = (CParametreServiceVisuListeObjets)parametre;
            Thread th = new Thread(new ThreadStart(AfficheListe));

            th.SetApartmentState(ApartmentState.STA);
            th.Start();
            th.Join();

            return(m_resultEdit);
        }
        /// /////////////////////////////////////////////////////////
        protected override CResultAErreur ExecuteAction(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            //Si la session qui execute est une session de l'utilisateur associé à la branche,
            //Tente d'afficher le EditerElement sur cette session,
            //Sinon, enregistre une Intervention sur l'utilisateur
            CSessionClient sessionClient = CSessionClient.GetSessionForIdSession(contexte.IdSession);

            if (sessionClient != null)
            {
                //TESTDBKEYOK
                if (sessionClient.GetInfoUtilisateur().KeyUtilisateur == contexte.Branche.KeyUtilisateur)
                {
                    using (C2iSponsor sponsor = new C2iSponsor())
                    {
                        CServiceSurClient service = sessionClient.GetServiceSurClient(c_idServiceVisualisationListeObjetsDonnee);
                        if (service != null)
                        {
                            sponsor.Register(service);
                            CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(Process);
                            string strContexte = "";
                            string strTitre    = "";
                            if (ExpressionContexteFenetre != null)
                            {
                                result = ExpressionContexteFenetre.Eval(ctxEval);
                                if (!result)
                                {
                                    return(result);
                                }
                                if (result.Data != null)
                                {
                                    strContexte = result.Data.ToString();
                                }
                            }
                            if (ExpressionTitreFenetre != null)
                            {
                                result = ExpressionTitreFenetre.Eval(ctxEval);
                                if (!result)
                                {
                                    return(result);
                                }
                                if (result.Data != null)
                                {
                                    strTitre = result.Data.ToString();
                                }
                            }

                            if (Filtre.TypeElements == null)
                            {
                                result.EmpileErreur(I.T("The object type is not defined|418"));
                                return(result);
                            }
                            CFiltreData filtre = null;
                            if (m_filtreDynamique != null)
                            {
                                m_filtreDynamique.ContexteDonnee           = contexte.ContexteDonnee;
                                m_filtreDynamique.ElementAVariablesExterne = Process;

                                result = m_filtreDynamique.GetFiltreData();
                                if (!result)
                                {
                                    result.EmpileErreur(I.T("Error while calculating the filter|419"));
                                    return(result);
                                }
                                filtre = (CFiltreData)result.Data;
                            }

                            CParametreServiceVisuListeObjets parametre = new CParametreServiceVisuListeObjets(
                                Filtre.TypeElements,
                                filtre,
                                m_bAppliquerFiltreParDefaut,
                                strTitre,
                                strContexte);
                            if (result)
                            {
                                result = service.RunService(parametre);
                            }
                            //Fin du process
                            result.Data = null;
                            if (result)
                            {
                                foreach (CLienAction lien in this.GetLiensSortantHorsErreur())
                                {
                                    if (!(lien is CLienUtilisateurAbsent))
                                    {
                                        result.Data = lien;
                                    }
                                }
                            }
                            return(result);
                        }
                    }
                }
            }
            //Utilisateur pas accessible
            foreach (CLienAction lien in GetLiensSortantHorsErreur())
            {
                if (lien is CLienUtilisateurAbsent)
                {
                    result.Data = lien;
                    return(result);
                }
            }
            return(result);
        }