/// /////////////////////////////////////////////////////////// public CResultAErreur Eval(CContexteEvaluationExpression ctx) { bool bOldEnableCache = ctx.CacheEnabled; ctx.CacheEnabled = true; CResultAErreur result = CResultAErreur.True; bool bStopAfter = ctx.BeforeEval(this); try { result = ProtectedEval(ctx); if (bStopAfter || !result) { ctx.AfterEval(this, result); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error during the @1 formula evaluation|103", GetString())); } ctx.CacheEnabled = bOldEnableCache; return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; object val = valeursParametres[0]; if (val == null) { result.Data = false; return(result); } if (val is bool) { result.Data = val; return(result); } string strVal = val.ToString(); if (strVal == "1" || strVal.ToUpper() == "TRUE" || strVal.ToUpper() == "VRAI" || strVal.ToUpper() == "OUI" || strVal.ToUpper() == "YES") { result.Data = true; return(result); } result.Data = false; return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; result.Data = true; return(result); }
/// /////////////////////////////////////////////////////// protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { CResultAErreur result = CResultAErreur.True; result.Data = ctx.ObjetBaseRacine; return(result); }
/// ////////////////////////////////////////// private CResultAErreur GetSourceEtChampFinal(C2iExpression expression, CContexteEvaluationExpression ctx, ref object source, ref C2iExpressionChamp expressionChamp) { CResultAErreur result = CResultAErreur.True; expressionChamp = expression as C2iExpressionChamp; if (expressionChamp != null) { return(result); } C2iExpressionObjet expObjet = expression as C2iExpressionObjet; if (expObjet == null) { result.EmpileErreur(I.T("Impossible to affect a value to @1|133", expression.GetString())); } result = expObjet.Parametres2i[0].Eval(ctx); if (!result || result == null) { return(result); } ctx.PushObjetSource(result.Data, false); source = result.Data; result = GetSourceEtChampFinal(expObjet.Parametres2i[1], ctx, ref source, ref expressionChamp); ctx.PopObjetSource(false); return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { //TESTDBKEYOK CContexteDonnee contexte = (CContexteDonnee)ctx.GetObjetAttache(typeof(CContexteDonnee)); CDbKey key = null; if (contexte != null) { key = CSessionClient.GetSessionForIdSession(contexte.IdSession).GetInfoUtilisateur().KeyUtilisateur; } else { key = CSessionClient.GetSessionUnique().GetInfoUtilisateur().KeyUtilisateur; } result.Data = null; if (key != null) { CDonneesActeurUtilisateur user = new CDonneesActeurUtilisateur(CContexteDonneeSysteme.GetInstance()); if (user.ReadIfExists(key)) { result.Data = user.Id; } } } catch { result.Data = -1; } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { object val = valeursParametres[0]; int nPrec = 5; if (valeursParametres.Length > 1) { nPrec = Convert.ToInt32(valeursParametres[1]); } double fComplet = Convert.ToDouble(val); double fVal = Math.Abs(fComplet); string strRetour = ""; double fDeg = (int)fVal; double fMin = (int)((fVal - fDeg) * 60.0); double fSec = (fVal - fDeg - fMin / 60.0) * 3600.0; strRetour = ((int)fDeg).ToString() + "°"; strRetour += ((int)fMin).ToString() + "'"; strRetour += fSec.ToString("#.".PadRight(nPrec + 2, '#')) + "''"; strRetour += fComplet < 0 ? I.T("W|20096") : I.T("E|20097"); result.Data = strRetour; } catch { result.EmpileErreur(I.T("The parameter of the function 'LongitudeToString' is incorrect|20094")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; CValeurUnite valeur = valeursParametres[0] as CValeurUnite; if (valeur == null) { try { double fVal = Convert.ToDouble(valeursParametres[0]); result.Data = new CValeurUnite(fVal, m_strUnitId); return(result); } catch { } } try{ result.Data = valeur.ConvertTo(m_strUnitId); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error during unit conversion|20115")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { if (valeursParametres.Length == 4) { result.Data = Color.FromArgb( (int)valeursParametres[0], (int)valeursParametres[1], (int)valeursParametres[2], (int)valeursParametres[3]); } else if (valeursParametres.Length == 3) { result.Data = Color.FromArgb( (int)valeursParametres[0], (int)valeursParametres[1], (int)valeursParametres[2]); } else { result.EmpileErreur(I.T("Error in Color parameters|20002")); } } catch { result.EmpileErreur(I.T("Error in Color parameters|20002")); } return(result); }
//----------------------------------------------- protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { CResultAErreur result = CResultAErreur.True; if (FormuleFinale == null) { result = RefreshFormuleFinale(); if (!result) { return(result); } } if (FormuleFinale != null) { C2iExpression formuleToEval = FormuleFinale; if (Debug) { formuleToEval = new C2iExpressionDebug(); formuleToEval.Parametres.Add(FormuleFinale); } return(formuleToEval.Eval(ctx)); } result.EmpileErreur(I.T("Can not create formula from graphical|20086")); return(result); }
public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.False; result.EmpileErreur(I.T("MyEval of C2iExpresisonSafeValue should never be called|173")); return(result); }
public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.False; result.EmpileErreur("MyEval of Background formula should never be called"); return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = DateTime.Now; if (valeursParametres.Length == 2) { int nMois = Convert.ToInt32(valeursParametres[0]); int nAnnee = Convert.ToInt32(valeursParametres[1]); dt = new DateTime(nAnnee, nMois, 1); } else { //PAramètre date DateTime dtParam = (DateTime)valeursParametres[0]; dt = new DateTime(dtParam.Year, dtParam.Month, 1); } result.Data = dt; } catch { result.EmpileErreur(I.T("Error during the date conversion : '@1' is not convertible in date|196", valeursParametres[0].ToString())); } return(result); }
public object DynamicEval(object source) { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(source); CResultAErreur result = Eval(ctx); if (result) { return(result.Data); } return(null); }
/// /////////////////////////////////////////////////////////// protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { ArrayList lstParametres = new ArrayList(); CResultAErreur result = EvalParametres(ctx, lstParametres); if (!result) { result.EmpileErreur(I.T("Error during the @1 expression evaluation|104", GetString())); return(result); } return(MyEval(ctx, lstParametres.ToArray())); }
/// //////////////////////////////////// ///////////////////////////////// protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { CResultAErreur result = CResultAErreur.True; ArrayList lstResult = new ArrayList(); result = EvalParametres(ctx, lstResult); if (result) { result.Data = lstResult; } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] listeParametres) { CResultAErreur result = CResultAErreur.True; string strVal = listeParametres[0].ToString(); Type tp = listeParametres[0] as Type; if (tp == null) { tp = CActivatorSurChaine.GetType(strVal, true); } if (tp == null) { tp = CActivatorSurChaine.GetType(strVal, false); } if (tp == null) { result.EmpileErreur(I.T("The @1 type does not exist|221", strVal)); return(result); } try { IAllocateurSupprimeurElements allocateur; object source = ctx.ObjetSource; allocateur = source as IAllocateurSupprimeurElements; if (allocateur == null) { allocateur = ctx.GetObjetAttache(typeof(IAllocateurSupprimeurElements)) as IAllocateurSupprimeurElements; } result.Data = null; if (allocateur != null) { result.Data = allocateur.AlloueElement(tp).Data; } if (result.Data == null) { try { result.Data = Activator.CreateInstance(tp, new object[0]); } catch { } } return(result); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { result.Data = DateTime.Now; } catch { result.EmpileErreur(I.T("Error during the date conversion : '@1' is not convertible to a date|196", valeursParametres[0].ToString())); } return(result); }
/// /////////////////////////////////////////////////////// protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { CResultAErreur result = CResultAErreur.True; if (m_valeur == null) { result.Data = ""; } else { result.Data = m_valeur; } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval( CContexteEvaluationExpression ctx, object[] valeursParametres ) { CResultAErreur result = CResultAErreur.True; try { object val = valeursParametres[0]; result.Data = Math.Sqrt((double)val); } catch { result.EmpileErreur(I.T("Invalid parameter for SQRT function|20108")); } return result; }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { result.Data = valeursParametres[valeursParametres.Length - 1]; } catch { result.EmpileErreur(I.T("Error while 'begin' evaluation |308")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; if (valeursParametres[0] is DateTime) { result.Data = ((DateTime)valeursParametres[0]).Date; } else if (valeursParametres[0] is CDateTimeEx) { result.Data = ((CDateTimeEx)valeursParametres[0]).DateTimeValue.Date; } else { try { result.Data = DateTime.Parse(valeursParametres[0].ToString()); } catch { string[] strZones = valeursParametres[0].ToString().Split('/'); if (strZones.Length != 3) { strZones = valeursParametres[0].ToString().Split('-'); } if (strZones.Length == 3) { int nYear, nMonth, nDay; try { nYear = Int32.Parse(strZones[0]); nMonth = Int32.Parse(strZones[1]); nDay = Int32.Parse(strZones[2]); DateTime dt = new DateTime(nYear, nMonth, nDay); result.Data = dt; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } } if (!result) { result.EmpileErreur(I.T("Error during the date conversion: the text '@1' is not convertible to a date|166", valeursParametres[0].ToString())); } } } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = Convert.ToDateTime(valeursParametres[0]); result.Data = dt.ToUniversalTime(); } catch { result.EmpileErreur(I.T("The parameter of the function 'ToUtcDateTime' is incorrect|20141")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = Convert.ToDateTime(valeursParametres[0]); result.Data = ((int)dt.DayOfWeek + 6) % 7; } catch { result.EmpileErreur(I.T("The parameter of the function 'WeekDay' is incorrect|202")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = Convert.ToDateTime(valeursParametres[0]); result.Data = CUtilDate.GetWeekNum(dt); } catch { result.EmpileErreur(I.T("The parameter of the function 'WeekNum' is incorrect|210")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { double fScale = Convert.ToDouble(valeursParametres[0]); result.Data = Math.Max(Math.Min(20, (int)-(1 + Math.Log(fScale / 591657.55047936) / Math.Log(2))), 1); } catch { result.EmpileErreur(I.T("Invalid parameter for KmToShowToMapZoom function|20037")); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = Convert.ToDateTime(valeursParametres[0]); result.Data = dt.Year; } catch { result.EmpileErreur(I.T("The parameters of the function 'Years' are incorrect|188")); } return(result); }
//--------------------------------------------------- public object GetValeurParDefaut() { if (FormuleValeurDefaut == null) { return(null); } CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(""); CResultAErreur result = FormuleValeurDefaut.Eval(ctx); if (!result) { return(null); } return(result.Data); }
/// //////////////////////////////////// ///////////////////////////////// protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx) { CResultAErreur result = CResultAErreur.True; try { object valeur = ctx.GetValeurChamp(m_definitionPropriete); result.Data = valeur; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error during '@1' field evaluation|109", m_definitionPropriete.Nom)); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; try { DateTime dt = Convert.ToDateTime(valeursParametres[0]); result.Data = CUtilDate.GetYearOfWeek(dt) + "/" + CUtilDate.GetWeekNum(dt).ToString().PadLeft(2, '0'); } catch { result.EmpileErreur(I.T("The paramters of the function 'YearAndWeek' are incorrect|192")); } return(result); }