/// ////////////////////////////////////////// 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); }
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()); } } } }
public CCasteurValeurString ReadRegistre(string strCle, string strValeurParDefaut) { IDatabaseRegistre registre = (IDatabaseRegistre)C2iFactory.GetNew2iObjetServeur(typeof(IDatabaseRegistre), IdSession); return(new CCasteurValeurString(strCle, registre.GetValeurString(strCle, strValeurParDefaut))); }
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); } } } }