public TcpServerChannelConfig ReadTcpServerConfiguration()
        {
            string methodName             = MethodBase.GetCurrentMethod().Name;
            TcpServerChannelConfig config = null;

            using (var connection = CreateConnection())
            {
                try
                {
                    connection.Open();
                    var query = "SELECT * FROM TcpServerChannels;";
                    config = connection.Query <TcpServerChannelConfig>(query).FirstOrDefault();
                    if (config != null)
                    {
                        BindServerListeners(connection, config);
                    }
                }
                catch (Exception ex)
                {
                    Log?.Error(className, methodName, ex.ToString());
                }
                finally
                {
                    connection.Close();
                }
            }

            return(config);
        }
        private void BindServerListeners(SQLiteConnection connection, TcpServerChannelConfig config)
        {
            string methodName = MethodBase.GetCurrentMethod().Name;

            try
            {
                var query     = "SELECT l.* FROM TcpServerChannelListenerApis scl INNER JOIN ListenerApis l ON scl.ListenerApiId = l.Id;";
                var listeners = connection.Query <ListenerApiConfig>(query);
                config.Listeners = listeners;
            }
            catch (Exception ex)
            {
                Log?.Error(className, methodName, ex.ToString());
            }
        }
        public static ServerChannelConfiguration Map(TcpServerChannelConfig entity)
        {
            var obj = Mapper.Map <ServerChannelConfiguration>(entity);

            return(obj);
        }