Exemplo n.º 1
0
        public override void DoAction(IEventArgs args)
        {
            UnitPara up   = UnitPara.Parse(FreeUtil.ReplaceVar(this.para, args))[0];
            IPara    para = up.GetPara(args);

            if (para != null)
            {
                double d = FreeUtil.ReplaceDouble(formula, args);
                if (para is IntPara)
                {
                    para.SetValue("=", new IntPara(string.Empty, (int)d));
                }
                if (para is FloatPara)
                {
                    para.SetValue("=", new FloatPara(string.Empty, (float)d));
                }
                if (para is DoublePara)
                {
                    para.SetValue("=", new DoublePara(string.Empty, d));
                }
                else
                {
                    IPara v = new DoublePara("v", d);
                    para.SetValue("=", v);
                }
            }
        }
Exemplo n.º 2
0
 public virtual ParaList GetParaList(string field, string value, IEventArgs args)
 {
     if (StringUtil.IsNullOrEmpty(order) && StringUtil.IsNullOrEmpty(unique))
     {
         if (cache == null)
         {
             cache = new MyDictionary <string, MyDictionary <string, ParaList> >();
         }
         if (cache.ContainsKey(field) && cache[field].ContainsKey(value))
         {
             return(cache[field][value]);
         }
     }
     else
     {
         foreach (ParaList pl in list)
         {
             IPara para = pl.Get(field);
             if (para != null)
             {
                 try
                 {
                     IPara temp = para.Initial("==", value);
                     bool  m    = para.Meet("==", temp);
                     temp.Recycle();
                     if (m)
                     {
                         return(pl);
                     }
                 }
                 catch (Exception)
                 {
                 }
                 UnitPara up    = UnitPara.ParseOne(value);
                 IPara    vPara = up.GetPara(args);
                 if (vPara != null && para.Meet("==", vPara))
                 {
                     return(pl);
                 }
             }
         }
     }
     return(null);
 }