Пример #1
0
        private void AssignToVariable()
        {
            var variableName = VariableName.Split("^").Last();
            var value        = Expression.Eval();
            var expression   = new ValueExpression(value);

            var curr = Parent;

            while (curr.Parent != null)
            {
                if (curr is BaseFunction {
                    Parameters : { }
                } function&& function.ParameterIsExist(VariableName))
                {
                    function.Parameters.Single(t => t.Name == VariableName).Expression = expression;
                    return;
                }

                curr = curr.Parent;
            }

            var module = GetRoot().Module;

            if (module.VariableStorage.IsExist(VariableName))
            {
                module.VariableStorage.Replace(VariableName, expression);
                return;
            }

            throw new Exception($"Переменная {variableName} не объявлена!");
        }
Пример #2
0
        private void InitializeFilePath()
        {
            if (filePaths.Count > 0)
            {
                return;
            }
            string _fileName = VariableModel.Parse(FileName);
            string path      = Path.Combine(AppSettings.Instance.CurrentExecutePath, "data");

            _fileName = Path.Combine(path, GetFileName(_fileName));

            string[] vars = VariableName.Split(",".ToCharArray());
            foreach (string v in vars)
            {
                filePaths.Add(v, _fileName.Insert(_fileName.IndexOf("."), "_" + v));
            }
        }
Пример #3
0
 public override void Perform()
 {
     try
     {
         InitializeFilePath();
         string[] vars = VariableName.Split(",".ToCharArray());
         foreach (var varName in vars)
         {
             Save(VariableModel.Find <ActionTableVariable>(varName), filePaths[varName]);
         }
         if (FileType == InOut.FileType.XLS)
         {
             AppContext.CurrentWorker.RunComplete -= CurrentWorker_RunComplete;
             AppContext.CurrentWorker.RunComplete += CurrentWorker_RunComplete;
         }
     }
     catch (Exception ex)
     {
         LogWrite(ex.Message);
     }
 }
Пример #4
0
 public override void Perform()
 {
     if (adapter == null)
     {
         adapter = new SqlAdapter(ServerType, ConnectionString);
     }
     string[] vars = VariableName.Split(",".ToCharArray());
     if (vars.Length == 0)
     {
         return;
     }
     foreach (var varName in vars)
     {
         ActionTableVariable tableVar = VariableModel.Find <ActionTableVariable>(varName) as ActionTableVariable;
         if (tableVar != null)
         {
             DataTable dt = tableVar.Data as DataTable;
             dt.TableName = tableVar.Name;
             try
             {
                 adapter.Update(dt);
                 tableVar.Reset();
             }
             catch (Exception ex)
             {
                 LogWrite(string.Format("写数据库{0}失败", tableVar.Name));
                 LogWrite(ex.Message);
                 if (AppSettings.Instance.Debug)
                 {
                     LogWrite(ex.StackTrace);
                 }
                 throw ex;
             }
         }
     }
 }