BlueCollar.SQLiteRepository.ClearWorkingSignalPair C# (CSharp) Method

ClearWorkingSignalPair() public method

Clears signals for the given worker and working job if applicable.
public ClearWorkingSignalPair ( long workerId, long workingId, IDbTransaction transaction ) : void
workerId long The ID of the worker to clear the signal of.
workingId long The ID of the working job to clear the signal of, if applicable.
transaction IDbTransaction The transaction to use, if applicable.
return void
        public void ClearWorkingSignalPair(long workerId, long? workingId, IDbTransaction transaction)
        {
            StringBuilder sb = new StringBuilder(
            @"UPDATE [BlueCollarWorker]
            SET
            [Signal] = @WorkerSignal,
            [UpdatedOn] = @Now
            WHERE
            [Id] = @WorkerId;");

            if (workingId != null)
            {
                sb.Append("\n");
                sb.Append(
            @"UPDATE [BlueCollarWorking]
            SET
            [Signal] = @WorkingSignal
            WHERE
            [Id] = @WorkingId;");
            }

            this.connection.Execute(
                sb.ToString(),
                new
                {
                    Now = DateTime.UtcNow,
                    WorkerId = workerId,
                    WorkerSignal = WorkerSignal.None.ToString(),
                    WorkingId = workingId,
                    WorkingSignal = WorkingSignal.None.ToString()
                },
                transaction,
                null,
                null);
        }