Exemple #1
0
        public async Task <IList <CommandResult> > GetCommandResults(Guid taskId)
        {
            using (var connection = await OpenConnection())
            {
                //No dapper mapping because of InvalidCaseException of Status
                //https://github.com/StackExchange/Dapper/issues/1001

                var reader = connection.ExecuteReader(
                    "SELECT CommandResult.CommandResultId, CommandResult.TaskExecutionId, CommandResult.CommandName, CommandResult.Result, CommandResult.Status, CommandResult.FinishedAt FROM CommandResult INNER JOIN TaskExecution ON TaskExecution.TaskExecutionId = CommandResult.TaskExecutionId INNER JOIN TaskSession ON TaskSession.TaskSessionId = TaskExecution.TaskSessionId WHERE TaskSession.TaskReferenceId = @taskId",
                    new { taskId });
                var result = new List <CommandResult>();

                using (reader)
                {
                    while (reader.Read())
                    {
                        result.Add(new CommandResult
                        {
                            CommandResultId = GuidTypeHandler.Parse((byte[])reader.GetValue(0)),
                            TaskExecutionId = GuidTypeHandler.Parse((byte[])reader.GetValue(1)),
                            CommandName     = reader.GetString(2),
                            Result          = reader.GetString(3),
                            Status          = reader.IsDBNull(4) ? (int?)null : reader.GetInt32(4),
                            FinishedAt      = DateTimeOffset.FromUnixTimeMilliseconds(reader.GetInt64(5))
                        });
                    }
                }

                return(result);
            }
        }
Exemple #2
0
    public void Invalid_Guid_Throws_FormatException(object input)
    {
        // Arrange
        var handler = new GuidTypeHandler();

        // Act
        var action = void() => handler.Parse(input);

        // Assert
        Assert.Throws <FormatException>(action);
    }
Exemple #3
0
    public void Null_Or_Empty_Returns_Empty(object input)
    {
        // Arrange
        var handler = new GuidTypeHandler();

        // Act
        var result = handler.Parse(input);

        // Assert
        Assert.Equal(Guid.Empty, result);
    }
Exemple #4
0
    public void Valid_Guid_String_Returns_Guid()
    {
        // Arrange
        var value   = Rnd.Guid;
        var handler = new GuidTypeHandler();

        // Act
        var result = handler.Parse(value.ToString());

        // Assert
        Assert.Equal(value, result);
    }