private void SetOrder(EntitySchemaQuery messageQuery, SortedMessageColumn sortedMessageColumn,
                              OrderDirection direction)
        {
            var sortedColumn = messageQuery.Columns.GetByName(GetSortedColumnName(sortedMessageColumn));

            sortedColumn.OrderDirection = direction;
            sortedColumn.OrderPosition  = 1;
        }
        /// <summary>
        /// Get query for retrieving messages.
        /// </summary>
        /// <param name="sortedBy">Sorted messages by <see cref="SortedMessageColumn" />.</param>
        /// <param name="direction">Sorted direction.</param>
        /// <returns>Instance <see cref="EntitySchemaQuery" />.</returns>
        protected virtual EntitySchemaQuery GetMessageQuery(SortedMessageColumn sortedBy, OrderDirection direction =
                                                            OrderDirection.Descending)
        {
            var messageQuery = GetMessageQuery();

            SetOrder(messageQuery, sortedBy, direction);
            return(messageQuery);
        }
 private string GetSortedColumnName(SortedMessageColumn sortedMessageColumn) => sortedMessageColumn.ToString();