public void Add(BusTask task) { Open(); var command = Connection.CreateCommand(); command.CommandText = "INSERT INTO BusTask (MessageType, Data, Queue, Received, Finished, Error, State) VALUES (@messageType,@data,@queue,@received,@finished,@error,@state); SELECT @@IDENTITY"; command.Parameters.Add(CreateParameter(DbType.String, task.MessageType, "messageType")); command.Parameters.Add(CreateParameter(DbType.String, task.Data, "data")); command.Parameters.Add(CreateParameter(DbType.String, task.Queue, "queue")); command.Parameters.Add(CreateParameter(DbType.DateTime, task.Received, "received")); command.Parameters.Add(CreateParameter(DbType.DateTime, task.Finished, "finished")); command.Parameters.Add(CreateParameter(DbType.String, string.IsNullOrEmpty(task.Error) ? string.Empty : task.Error, "error")); command.Parameters.Add(CreateParameter(DbType.Int32, task.State, "state")); var returnedIdentity = command.ExecuteScalar(); Int64 parsedIdentity; if (long.TryParse(returnedIdentity.ToString(), out parsedIdentity)) task.Id = parsedIdentity; Close(); }
public IEnumerable<BusTask> GetAllOpenTasks() { Open(); var command = Connection.CreateCommand(); command.CommandText = "SELECT MessageType, Data, Queue, Received, Finished, Error, State, Id FROM BusTask where State <> 2 order by Received ASC"; using (var reader = command.ExecuteReader()) { while (reader.Read()) { BusTask task = new BusTask(reader.GetString(2), reader.GetString(0), reader.GetString(1)); task.Received = reader.GetDateTime(3); task.Finished = reader.GetDateTime(4); task.Error = reader.GetString(5); task.State = (BusTaskState)reader.GetInt32(6); task.Id = reader.GetInt64(7); yield return task; } } Close(); }
public void Update(BusTask task) { var repository = Activator.CreateInstance(RepositoryType) as IRepository; repository.Update(task); }
public void Update(BusTask task) { Open(); var command = Connection.CreateCommand(); command.CommandText = "UPDATE BusTask SET MessageType=@messageType, Data=@data, Queue=@queue, Received=@received, Finished=@finished, Error=@error, State=@state where Id=@id"; command.Parameters.Add(CreateParameter(DbType.String, task.MessageType, "messageType")); command.Parameters.Add(CreateParameter(DbType.String, task.Data, "data")); command.Parameters.Add(CreateParameter(DbType.String, task.Queue, "queue")); command.Parameters.Add(CreateParameter(DbType.DateTime, task.Received, "received")); command.Parameters.Add(CreateParameter(DbType.DateTime, task.Finished, "finished")); command.Parameters.Add(CreateParameter(DbType.String, string.IsNullOrEmpty(task.Error) ? string.Empty : task.Error, "error")); command.Parameters.Add(CreateParameter(DbType.Int32, task.State, "state")); command.Parameters.Add(CreateParameter(DbType.Int64, task.Id, "id")); command.ExecuteNonQuery(); Close(); }