Ejemplo n.º 1
0
        public async Task <Message> Add(Message message, CancellationToken cancellationToken)
        {
            logger.LogDebug("Add; Adding message={@Message}", message);

            int id;

            using (var connection = await dbConnectionFactory.CreateAndOpenConnection())
            {
                id = await connection.QuerySingleAsync <int>(
                    new CommandDefinition("INSERT INTO \"Messages\" (\"AuthorId\", \"SendOn\", \"MessageId\") VALUES(@AuthorId, @SendOn, @MessageId) RETURNING \"Id\"",
                                          message, cancellationToken : cancellationToken)).ConfigureAwait(false);
            }

            logger.LogInformation("Add; Inserted Id: {@Result}", id);
            return(message with {
                Id = id
            });
        }