Exemplo n.º 1
0
        /// ///////////////////////////////////////////////////////////
        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);
        }
Exemplo n.º 2
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 3
0
        /// //////////////////////////////////////////
        public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres)
        {
            CResultAErreur result = CResultAErreur.True;

            result.Data = true;
            return(result);
        }
Exemplo n.º 4
0
        /// ///////////////////////////////////////////////////////
        protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx)
        {
            CResultAErreur result = CResultAErreur.True;

            result.Data = ctx.ObjetBaseRacine;
            return(result);
        }
Exemplo n.º 5
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 8
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 9
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 10
0
        //-----------------------------------------------
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres)
        {
            CResultAErreur result = CResultAErreur.False;

            result.EmpileErreur("MyEval of Background formula should never be called");
            return(result);
        }
Exemplo n.º 13
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 14
0
        public object DynamicEval(object source)
        {
            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(source);
            CResultAErreur result             = Eval(ctx);

            if (result)
            {
                return(result.Data);
            }
            return(null);
        }
Exemplo n.º 15
0
        /// ///////////////////////////////////////////////////////////
        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()));
        }
Exemplo n.º 16
0
        /// //////////////////////////////////// /////////////////////////////////
        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);
        }
Exemplo n.º 17
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 18
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 19
0
        /// ///////////////////////////////////////////////////////
        protected override CResultAErreur ProtectedEval(CContexteEvaluationExpression ctx)
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_valeur == null)
            {
                result.Data = "";
            }
            else
            {
                result.Data = m_valeur;
            }
            return(result);
        }
Exemplo n.º 20
0
 /// //////////////////////////////////////////
 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;
 }
Exemplo n.º 21
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 22
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 23
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 24
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 25
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 26
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 27
0
        /// //////////////////////////////////////////
        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);
        }
Exemplo n.º 28
0
        //---------------------------------------------------
        public object GetValeurParDefaut()
        {
            if (FormuleValeurDefaut == null)
            {
                return(null);
            }
            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression("");
            CResultAErreur result             = FormuleValeurDefaut.Eval(ctx);

            if (!result)
            {
                return(null);
            }
            return(result.Data);
        }
Exemplo n.º 29
0
        /// //////////////////////////////////// /////////////////////////////////
        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);
        }