public static void ReceiveMeta()
        {
            var rbService = new RabbitMQService();
            var conn      = rbService.GetRabbitMQConnection();
            var meta      = conn.CreateModel();

            meta.ExchangeDeclare("Metas", durable: true, type: ExchangeType.Fanout);
            var queueName = meta.QueueDeclare().QueueName;

            meta.QueueBind(queue: queueName, exchange: "Metas", routingKey: "UOFMetas");
            meta.BasicQos(prefetchSize: 0, prefetchCount: 1, false);
            var metaConsumer = new EventingBasicConsumer(meta);

            meta.BasicConsume(queueName, false, metaConsumer);
            SerilogHelper.Information($"Connected Metas {queueName}");

            metaConsumer.Received += (model, ea) =>
            {
                var body  = ea.Body;
                var data  = Encoding.UTF8.GetString(body);
                var _data = UtcHelper.Deserialize <Meta>(data);
                Program.metaMainQueue.Enqueue(_data);
                meta.BasicAck(ea.DeliveryTag, multiple: false);
            };
        }
        private void RouteTheKey(string typeName, ReceiveFeedv2 feed, dbEntities db)
        {
            switch (typeName)
            {
            case "odds_change":
                OddsChange(UtcHelper.Deserialize <odds_change>(feed.Data), db, feed.RouteKey);
                break;

            case "bet_stop":
                BetStop(UtcHelper.Deserialize <bet_stop>(feed.Data), db, feed.RouteKey);
                break;

            case "bet_settlement":
                BetSettlement(UtcHelper.Deserialize <bet_settlement>(feed.Data), db, feed.RouteKey);
                break;

            case "cancelbet":
                BetCancel(UtcHelper.Deserialize <bet_cancel>(feed.Data), db, feed.RouteKey);
                break;

            case "producer_down":
                ProducerUpDown(UtcHelper.Deserialize <ProducerModel>(feed.Data), db, feed.RouteKey);
                break;

            case "producer_up":
                ProducerUpDown(UtcHelper.Deserialize <ProducerModel>(feed.Data), db, feed.RouteKey);
                break;

            case "rollback_betsettlement":
                SerilogHelper.Error($"{feed.RouteKey}");
                break;

            case "rollback_cancelbet":
                SerilogHelper.Error($"{feed.RouteKey}");
                break;

            case "fixture_change":
                FixtureChange(UtcHelper.Deserialize <fixture_change>(feed.Data), db, feed.RouteKey);
                break;

            default:
                SerilogHelper.Error($"{feed.RouteKey}");
                break;
            }
        }