private void saveBtn_Click(object sender, RoutedEventArgs e) { var id = (VariablesAction.VariablesActionType)Enum.Parse(typeof(VariablesAction.VariablesActionType), operationCmb.Text); IVariableData iv = new SavedData.VariableData(varCmb.Text, valueTxb.Text); var op = new OperationData { FileName = fileNameCmb.Text, TargetVar = targetVarCmb.Text, Value = valueTxb.Text };//we use the same valueTxb.Text field for both setting value to variable and performing operations (depands on the action) var variable = new VariablesAction(id, iv, op); var entity = new StepEntity(variable); entity.Comment = string.Format("Variables {0} - {1}", operationCmb.Text, varCmb.Text); Singleton.Instance<SaveData>().AddStepEntity(entity); if ((id == VariablesAction.VariablesActionType.Create) || (id == VariablesAction.VariablesActionType.LoadVariableFile)) variable.Execute(); }
private void LoadVariablesFile() { string fileName = Singleton.Instance<SavedData>().GetVariableData(_operationData.FileName); List<string> errors = new List<string>(); var table = CommonHelper.ImportCsvToDataTable(fileName, ",", out errors); string varName; string varValue; int rowCount = table.Rows.Count; int colCount = table.Columns.Count; if ((colCount < 2) || (errors.Count != 0)) { AutoApp.Logger.WriteFailLog("Load Variables File failure , invalid file"); ActionStatus = Enums.Status.Fail; return; } for (int row = 0; row < rowCount; row++) { varName = table.Rows[row][0].ToString(); varValue = table.Rows[row][1].ToString(); if (Singleton.Instance<SavedData>().Variables.ContainsKey(varName)) { AutoApp.Logger.WriteWarningLog(string.Format("Variable {0} already exist", varName)); Singleton.Instance<SavedData>().Variables[varName].SetValue(varValue); } else { IVariableData iv = new SavedData.VariableData(varName, varValue); Singleton.Instance<SavedData>().Variables.Add(varName, iv); } } ActionStatus = Enums.Status.Pass; }