/// <summary> /// Creates a new Connection /// </summary> /// <returns></returns> public virtual string RegisterConnection() { var connectionId = GenerateUniqueId(); var connectionTuple = new ConnectionTuple() { DbAccessLayer = _accessLayerFactory(), ConnectionId = connectionId, LastOperationReceived = DateTime.Now }; ConnectionTuples.TryAdd(connectionId, connectionTuple); connectionTuple.DbAccessLayer.Database.Connect(); return(connectionId); }
private static IDbCommand ToCommand(RemotingStrategyExternal.RemotingDbCommandData command, ConnectionTuple conData) { var dbCommand = conData.DbAccessLayer.Database.CreateCommand(command.CommandText); dbCommand.CommandType = command.CommandType; dbCommand.CommandTimeout = command.CommandTimeout == 0 ? 30 : command.CommandTimeout; foreach (var remotingDbParameterData in command.Parameters) { var dbDataParameter = dbCommand.CreateParameter(); dbCommand.Parameters.Add(dbDataParameter); dbDataParameter.Precision = remotingDbParameterData.Precision; dbDataParameter.Scale = remotingDbParameterData.Scale; dbDataParameter.DbType = remotingDbParameterData.DbType; dbDataParameter.Direction = remotingDbParameterData.Direction; dbDataParameter.ParameterName = remotingDbParameterData.ParameterName; dbDataParameter.SourceVersion = remotingDbParameterData.SourceVersion; dbDataParameter.Value = remotingDbParameterData.Value; dbDataParameter.Size = remotingDbParameterData.Size; } return(dbCommand); }