コード例 #1
0
        public async Task <SmtpSessionChatter[]> GetSessionChatterAsync(int sessionId)
        {
            var result = new List <SmtpSessionChatter>();

            using (var connection = this.GetConnection())
            {
                var dataChatter = await connection.QueryAsync <DataChatter>("SELECT * FROM \"Chatter\" WHERE \"SessionId\" = @sessionId ORDER BY \"Id\"", new { sessionId = sessionId });

                foreach (var chatter in dataChatter)
                {
                    Enum.TryParse <Direction>(chatter.Direction, true, out var direction);

                    var chat = new SmtpSessionChatter
                    {
                        Data      = chatter.Data,
                        Direction = direction,
                        Timestamp = chatter.Timestamp
                    };

                    result.Add(chat);
                }
            }

            return(result.ToArray());
        }
コード例 #2
0
        private SessionChatter GetSessionChatter(SmtpSessionChatter sessionChatter)
        {
            if (sessionChatter == null)
            {
                return(null);
            }

            var result = new SessionChatter
            {
                Data      = sessionChatter.Data,
                Direction = sessionChatter.Direction == Direction.In ? ChatterDirection.ToClient : ChatterDirection.ToServer,
                TimeStamp = sessionChatter.Timestamp
            };

            return(result);
        }