private async Task SaveVariables() { if (_isInMemory) { return; } using (var database = new Database("ConnectionString")) { while (_variablesToSave.Count > 0) { var variable = _variablesToSave.Take(); var persistedVariable = new PersistedVariable { Name = variable.Name, DataType = variable.Value.GetType().Name, Value = variable.Value.ToString() }; if (_persistedVariables.Contains(variable.Name)) { await database.UpdateAsync("Variable", "Name", persistedVariable, variable.Name, new[] { "Value" }); } else { await database.InsertAsync("Variable", "Name", false, persistedVariable); _persistedVariables.Add(variable.Name); } } } }
private async Task SaveVariables() { if (_isInMemory) { return; } using (var database = new Database("ConnectionString")) { while (_variablesToSave.Count > 0) { var variable = _variablesToSave.Take(); var persistedVariable = new PersistedVariable { Name = variable.Name, DataType = variable.Value.GetType().Name, Value = variable.Value.ToString() }; if (_persistedVariables.Contains(variable.Name)) { await database.UpdateAsync("Variable", "Name", persistedVariable, variable.Name, new[] {"Value"}); } else { await database.InsertAsync("Variable", "Name", false, persistedVariable); _persistedVariables.Add(variable.Name); } } } }
private IVariable CreateVariable(PersistedVariable persistedVariable) { var variable = CreateVariableByType(persistedVariable.DataType); variable.Name = persistedVariable.Name; variable.Value = ConvertVariableValue(persistedVariable.Value, persistedVariable.DataType); return(variable); }
private IVariable CreateVariable(PersistedVariable persistedVariable) { var variable = CreateVariableByType(persistedVariable.DataType); variable.Name = persistedVariable.Name; variable.Value = ConvertVariableValue(persistedVariable.Value, persistedVariable.DataType); return variable; }