/// //////////////////////////////////////////
        public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] listeParametres)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), CSessionClient.GetSessionUnique().IdSession);
                result.Data = registre.GetValeurString(listeParametres[0].ToString(), listeParametres[1].ToString());
                return(result);
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
                return(result);
            }
        }
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            //Calcule la nouvelle valeur
            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);
            result = ExpressionValeur.Eval(contexteEval);
            if (!result)
            {
                result.EmpileErreur(I.T("Error during @1 formula evaluation|216", ExpressionValeur.ToString()));
                return(result);
            }
            object            nouvelleValeur = result.Data;
            IDatabaseRegistre registre       = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), contexte.IdSession);

            registre.SetValeur(m_strCleRegistre, nouvelleValeur == null?"":nouvelleValeur.ToString());
            return(result);
        }
Example #3
0
        private void AssureMenu( )
        {
            if (DesignMode)
            {
                return;
            }
            if (m_menuCustom == null && !DesignMode)
            {
                IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), CTimosApp.SessionClient.IdSession);
                int nId = (int)registre.GetValeurLong(c_cleRegistre, -1);
                m_menuCustom = new CMenuCustom(CSc2iWin32DataClient.ContexteCourant);
                if (!m_menuCustom.ReadIfExists(nId))
                {
                    // Si l'ID n'éxiste pas alors on cherche par une requette pour être sûr
                    CListeObjetsDonnees listeMenus = new CListeObjetsDonnees(
                        CSc2iWin32DataClient.ContexteCourant,
                        typeof(CMenuCustom),
                        new CFiltreData(CMenuCustom.c_champIdMenuParent + " IS NULL"));

                    if (listeMenus.Count >= 1)
                    {
                        // On a trouvé le premier menu sans parent
                        m_menuCustom = (CMenuCustom)listeMenus[0];
                    }
                    else
                    {
                        //Construction du menu par défaut
                        m_menuCustom.CreateNew();
                        m_menuCustom.Libelle = I.T("Home|714");
                        m_menuCustom.Action  = null;
                        AddMenuStandard(m_menuCustom, I.T("Assets management|1"), typeof(CFormMenuPatrimoine));
                        AddMenuStandard(m_menuCustom, I.T("Organisation|4"), typeof(CFormMenuOrganisation));
                        AddMenuStandard(m_menuCustom, I.T("Maintenance|8"), typeof(CFormMenuMaintenance));
                        AddMenuStandard(m_menuCustom, I.T("Engineering|6"), typeof(CFormMenuIngenierie));
                        AddMenuStandard(m_menuCustom, I.T("Configuration|7"), typeof(CFormMenuConfiguration));
                        m_menuCustom.CommitEdit();
                        registre.SetValeur(c_cleRegistre, m_menuCustom.Id.ToString());
                    }
                }
            }
        }
Example #4
0
        public CCasteurValeurString ReadRegistre(string strCle, string strValeurParDefaut)
        {
            IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), IdSession);

            return(new CCasteurValeurString(strCle, registre.GetValeurString(strCle, strValeurParDefaut)));
        }
Example #5
0
 IDatabaseRegistre GetRegistre()
 {
     return((IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), m_nIdSession));
 }
Example #6
0
        public static void SendMails(List <CEvenementAlarm> lstEvents, CContexteDonnee ctxDonnee)
        {
            /*
             * foreach (CEvenementAlarm eventAl in lstEvents)
             * {
             *  if (eventAl.CategorieMessageAlarme == ECategorieMessageAlarme.AlarmStartStop)
             *  {
             *      if (eventAl.EventAlarmStartStop.AlarmInfo.SeverityCode == (int)EGraviteAlarmeAvecMasquage.EndAlarm)
             *          continue;
             *
             *      CListeObjetsDonnees lstConsult = new CListeObjetsDonnees(ctxDonnee, typeof(CConsultationAlarmesEnCoursInDb));
             *      lstConsult.Filtre = new CFiltreDataAvance(CConsultationAlarmesEnCoursInDb.c_nomTable,
             *           CConsultationAlarmesEnCoursInDb.c_champActiverEMail + " = 1 and Has( Emails." +
             *           CParamlArmEC_EMail.c_champParamAlarmECId + " )", null);
             *
             *      foreach (CConsultationAlarmesEnCoursInDb consult in lstConsult)
             *      {
             *          int id = consult.Id;//test
             *          if (consult.Parametres.FormuleFiltre != null)
             *          {
             *              CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(eventAl.EventAlarmStartStop.AlarmInfo);
             *              if (!consult.Parametres.FormuleFiltre.Eval(contexte))
             *                  continue;
             *          }
             *
             *          List<string> lstColumnNames = new List<string>();
             *          ArrayList arrayData = new ArrayList();
             *          StringBuilder stblMessage = new StringBuilder();
             *          string [] arrayDest;
             *          string stSubject;
             *          string stSender;
             *          string st;
             *          int i = 0;
             *
             *          lstColumnNames = consult.Parametres.GetColumnNames();
             *          arrayData = consult.Parametres.GetDataToDisplay(eventAl.EventAlarmStartStop.AlarmInfo);
             *
             *          foreach(string stColumnName in lstColumnNames)
             *          {
             *              st = stColumnName + " : " + arrayData[i];
             *              stblMessage.AppendLine(st);
             *              i++;
             *          }
             *
             *          stSubject = I.T("Alarm @1|60000", eventAl.EventAlarmStartStop.AlarmInfo.AlarmeGeree.Name);
             *
             *          arrayDest = new string[consult.Emails.Count];
             *          i=0;
             *          foreach(CParamlArmEC_EMail paramlArmEC_EMail in consult.Emails)
             *          {
             *              arrayDest[i] = paramlArmEC_EMail.Email;
             *              i++;
             *          }
             *
             *          IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), ctxDonnee.IdSession);
             *                          stSender =  (string)registre.GetValeurString("SENDER_ADDRESS","");
             *
             *          int[] docsArray = new int[0];
             *          CMailSC2I mail = new CMailSC2I(stSender, stSubject, stblMessage.ToString(),
             *              arrayDest, docsArray);
             *
             *          IExpediteurMail expediteur = (IExpediteurMail)C2iFactory.GetNewObjetForSession("CExpediteurMail", typeof(IExpediteurMail), ctxDonnee.IdSession);
             *          CResultAErreur result = expediteur.SendMail(mail);
             *      }
             *  }
             * }
             * }*/
            foreach (CEvenementAlarm eventAlarme in lstEvents)
            {
                if (eventAlarme.GetType() == typeof(CEvenementAlarmStartStop))
                {
                    CEvenementAlarmStartStop eventAl = (CEvenementAlarmStartStop)eventAlarme;
                    if (eventAl.Gravite == EGraviteAlarmeAvecMasquage.EndAlarm)
                    {
                        continue;
                    }

                    CInfoAlarmeAffichee infoAlarmeAffichee = new CInfoAlarmeAffichee(eventAl);

                    CListeObjetsDonnees lstConsult = new CListeObjetsDonnees(ctxDonnee, typeof(CConsultationAlarmesEnCoursInDb));
                    lstConsult.Filtre = new CFiltreDataAvance(CConsultationAlarmesEnCoursInDb.c_nomTable,
                                                              CConsultationAlarmesEnCoursInDb.c_champActiverEMail + " = 1 and Has( Emails." +
                                                              CParamlArmEC_EMail.c_champParamAlarmECId + " )", null);

                    foreach (CConsultationAlarmesEnCoursInDb consult in lstConsult)
                    {
                        int id = consult.Id;//test
                        if (consult.Parametres.FormuleFiltre != null)
                        {
                            CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(infoAlarmeAffichee);
                            if (!consult.Parametres.FormuleFiltre.Eval(contexte))
                            {
                                continue;
                            }
                        }

                        List <string> lstColumnNames = new List <string>();
                        ArrayList     arrayData      = new ArrayList();
                        StringBuilder stblMessage    = new StringBuilder();
                        string[]      arrayDest;
                        string        stSubject;
                        string        stSender;
                        string        st;
                        int           i = 0;

                        lstColumnNames = consult.Parametres.GetColumnNames();
                        arrayData      = consult.Parametres.GetDataToDisplay(infoAlarmeAffichee);

                        foreach (string stColumnName in lstColumnNames)
                        {
                            st = stColumnName + " : " + arrayData[i];
                            stblMessage.AppendLine(st);
                            i++;
                        }

                        stSubject = I.T("Alarm @1|60000", eventAl.NomAlarmeGeree);

                        arrayDest = new string[consult.Emails.Count];
                        i         = 0;
                        foreach (CParamlArmEC_EMail paramlArmEC_EMail in consult.Emails)
                        {
                            arrayDest[i] = paramlArmEC_EMail.Email;
                            i++;
                        }

                        IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), ctxDonnee.IdSession);
                        stSender = (string)registre.GetValeurString("SENDER_ADDRESS", m_strExpMailParDefaut);

                        int[]     docsArray = new int[0];
                        CMailSC2I mail      = new CMailSC2I(stSender, stSubject, stblMessage.ToString(),
                                                            arrayDest, null, null, docsArray);

                        IExpediteurMail expediteur = (IExpediteurMail)C2iFactory.GetNewObjetForSession("CExpediteurMail", typeof(IExpediteurMail), ctxDonnee.IdSession);
                        CResultAErreur  result     = expediteur.SendMail(mail);
                    }
                }
            }
        }