public void LoadAllMetasOnStartUp()
        {
            if (!SampleClient.Properties.Settings.Default.LoadMetaOnStartUp)
            {
                return;
            }

            var         cnn      = new dbEntities();
            var         uri      = new Uri(MetaUrlSport);
            ApiResponse response = new ApiResponse();

            response = UtcHelper.GetDispatchMeta(uri, null).Result;
            if (response.Success)
            {
                List <Sport> sports = JsonConvert.DeserializeObject <List <Sport> >(response.Message);

                foreach (var sport in sports)
                {
                    using (var dbContextTransaction = cnn.Database.BeginTransaction())
                    {
                        var spParams = "EXECUTE PROCEDURE BET_SPORTS_I(";
                        spParams += sport.SourceId + ",";
                        spParams += sport.SportId + ",";
                        spParams += 1 + ",";
                        spParams += 0 + ")";
                        cnn.Database.ExecuteSqlCommand(spParams.Trim());
                        SerilogHelper.Debug(string.Format("META sport [{0}]", sport.SportId));

                        foreach (var sporttext in sport.Names)
                        {
                            spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                            var lang    = sporttext.Lang;
                            var mid     = sport.SportId;
                            var mtype   = 1;
                            var text    = sporttext.Name;
                            var superid = 0;
                            cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                            SerilogHelper.Debug(string.Format("TRANSLATION sport [{0}][{1}][{2}]", sport.SportId, sporttext.Lang, sporttext.Name));
                        }
                        dbContextTransaction.Commit();
                    }
                }
            }

            uri      = new Uri(MetaUrlCategory);
            response = UtcHelper.GetDispatchMeta(uri, null).Result;
            List <Category> categories = null;

            if (response.Success)
            {
                categories = JsonConvert.DeserializeObject <List <Category> >(response.Message);

                foreach (var category in categories)
                {
                    using (var dbContextTransaction = cnn.Database.BeginTransaction())
                    {
                        var spParams = "EXECUTE PROCEDURE BET_TOURNAMENTS_I(";
                        spParams += category.SourceId + ",";
                        spParams += category.SportId + ",";
                        spParams += category.CategoryId + ",";
                        spParams += category.CategoryId + ",";
                        spParams += 1 + ",";
                        spParams += 0 + ")";
                        cnn.Database.ExecuteSqlCommand(spParams.Trim());
                        SerilogHelper.Debug("META category");


                        foreach (var categorytext in category.Names)
                        {
                            spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                            var lang    = categorytext.Lang;
                            var mid     = category.CategoryId;
                            var mtype   = 4;
                            var text    = categorytext.Name;
                            var superid = 0;
                            cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                            SerilogHelper.Debug(string.Format("TRANSLATION category [{0}][{1}][{2}]", category.SportId, categorytext.Lang, categorytext.Name));
                        }

                        dbContextTransaction.Commit();
                    }
                }
            }

            uri      = new Uri(MetaUrlTournament);
            response = UtcHelper.GetDispatchMeta(uri, null).Result;
            if (response.Success)
            {
                List <Tournament> tournaments = JsonConvert.DeserializeObject <List <Tournament> >(response.Message);

                foreach (var tournament in tournaments)
                {
                    using (var dbContextTransaction = cnn.Database.BeginTransaction())
                    {
                        var sportid = categories.Where(g => g.CategoryId == tournament.CategoryId).FirstOrDefault()?.SportId ?? 0;
                        if (sportid == 0)
                        {
                            continue;
                        }
                        var spParams = "EXECUTE PROCEDURE BET_TOURNAMENTS_I(";
                        spParams += tournament.SourceId + ",";
                        spParams += sportid + ",";
                        spParams += tournament.TournamentId + ",";
                        spParams += tournament.CategoryId + ",";
                        spParams += 1 + ",";
                        spParams += 0 + ")";
                        cnn.Database.ExecuteSqlCommand(spParams.Trim());
                        SerilogHelper.Debug("META tournament");

                        foreach (var tournamenttext in tournament.Names)
                        {
                            spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                            var lang    = tournamenttext.Lang;
                            var mid     = tournament.TournamentId;
                            var mtype   = 5;
                            var text    = tournamenttext.Name;
                            var superid = tournament.CategoryId;
                            cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                            SerilogHelper.Debug(string.Format("TRANSLATION tournaments [{0}][{1}][{2}]", sportid, tournamenttext.Lang, tournamenttext.Name));
                        }

                        dbContextTransaction.Commit();
                    }
                }
            }


            uri      = new Uri(MetaUrlMarket);
            response = UtcHelper.GetDispatchMeta(uri, null).Result;
            List <Market> markets = null;

            if (response.Success)
            {
                var HomeTeam = string.Empty;
                var DrawGame = string.Empty;
                var AwayTeam = string.Empty;
                var Over     = string.Empty;
                var Under    = string.Empty;
                var nextGoal = string.Empty;

                markets = JsonConvert.DeserializeObject <List <Market> >(response.Message);

                foreach (var market in markets)
                {
                    using (var dbContextTransaction = cnn.Database.BeginTransaction())
                    {
                        foreach (var marketitem in market.Names)
                        {
                            switch (marketitem.Lang)
                            {
                            case "tr":
                                HomeTeam = "Evsahibi";
                                AwayTeam = "Deplasman";
                                nextGoal = "Sıradaki";
                                break;

                            case "de":
                                HomeTeam = "Heimteam";
                                AwayTeam = "Gastteam";
                                nextGoal = "Nächstes";
                                break;

                            default:
                                HomeTeam = "Hometeam";
                                AwayTeam = "Awayteam";
                                nextGoal = "Next";
                                break;
                            }
                            var spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                            var lang     = marketitem.Lang;
                            var mid      = market.MarketId;
                            var mtype    = 2;
                            var text     = marketitem.Name.Replace("{$competitor1}", HomeTeam)
                                           .Replace("{$competitor2}", AwayTeam).Replace("{!goalnr}", nextGoal).Replace("{hcp}", "");
                            var superid = 0;
                            cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                            SerilogHelper.Debug(string.Format("TRANSLATION markets [{0}][{1}][{2}]", market.MarketId, marketitem.Lang, marketitem.Name));
                        }

                        dbContextTransaction.Commit();
                    }
                }
            }

            uri      = new Uri(MetaUrlOutcome);
            response = UtcHelper.GetDispatchMeta(uri, null).Result;
            if (response.Success)
            {
                var HomeTeam = "1";
                var DrawGame = "X";
                var AwayTeam = "2";
                var Over     = "+";
                var Under    = "-";

                List <Outcome> outcomes = JsonConvert.DeserializeObject <List <Outcome> >(response.Message);


                foreach (var outcome in outcomes)
                {
                    using (var dbContextTransaction = cnn.Database.BeginTransaction())
                    {
                        //var markettext = markets.Where(g => g.MarketId == outcome.MarketId).FirstOrDefault().Names.Where(g => g.Lang == "en").FirstOrDefault().Name;
                        foreach (var outcometext in outcome.Names)
                        {
                            //outcome translate for special bet list
                            var spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                            var lang     = outcometext.Lang;
                            var mid      = outcome.OutcomeId;
                            var mtype    = 9;
                            var text     = outcometext.Name.Replace("{$competitor1}", HomeTeam).Replace("{$competitor2}", AwayTeam).
                                           Replace("{total}", "").Replace("({hcp})", "").Replace("({-hcp})", "");
                            var superid = outcome.MarketId;
                            cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                            SerilogHelper.Debug(string.Format("TRANSLATION outcomes [{0}][{1}][{2}]", outcome.OutcomeId, outcometext.Lang, outcometext.Name));

                            //outcome translate for bet basket text

                            /*spParams = "EXECUTE PROCEDURE BET_TRANSLATIONSIMPORT({0},{1},{2},{3},{4})";
                             * lang = outcometext.Lang;
                             * mid = outcome.OutcomeId;
                             * mtype = 3;
                             * //text = outcometext.Name.Replace("{$competitor1}", HomeTeam).Replace("{$competitor2}", AwayTeam).Replace("{total}","").Replace("({+hcp})","");
                             * text = outcometext.Name;
                             * superid = outcome.MarketId;
                             * cnn.Database.ExecuteSqlCommand(spParams.Trim(), lang, mid, mtype, text, superid);
                             */
                        }
                        dbContextTransaction.Commit();
                    }
                }
            }
        }