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} не объявлена!"); }
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)); } }
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); } }
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; } } } }