public void AddManualUserPick(UserPick pick)
        {
            MegamillionPicks manualPick = new MegamillionPicks()
            {
                ball1     = pick.ball1,
                ball2     = pick.ball2,
                ball3     = pick.ball3,
                ball4     = pick.ball4,
                ball5     = pick.ball5,
                megaball  = pick.lottoball,
                pick_date = DateTime.Now,
                megaplier = "0X",
                isPicked  = true
            };

            var existingPick = this._ctx.MegaPicks.FirstOrDefault(
                x => x.ball1 == manualPick.ball1 && x.ball2 == manualPick.ball2 && x.ball3 == manualPick.ball3 &&
                x.ball4 == manualPick.ball4 && x.ball5 == manualPick.ball5 &&
                x.megaball == manualPick.megaball);

            if (existingPick == null)
            {
                this._ctx.MegaPicks.Add(manualPick);

                if (_ctx.SaveChanges() >= 0)
                {
                    pick.pick_id    = manualPick.id;
                    pick.saved_date = DateTime.Now;
                    this._ctx.UserPicks.Add(pick);
                }
            }
        }
        public IEnumerable <MegaPicksViewModel> GetMegamillionPicks()
        {
            try
            {
                using (IDbConnection dbConnection = sqlConnection)
                {
                    dbConnection.Open();
                    var picks   = dbConnection.QueryMultiple("dbo.GetMegamillionPicks", commandType: CommandType.StoredProcedure);
                    var results = picks.Read <MegaPicksViewModel>().ToList();
                    foreach (var pick in results)
                    {
                        MegamillionPicks newPick = new MegamillionPicks()
                        {
                            ball1     = pick.ball1,
                            ball2     = pick.ball2,
                            ball3     = pick.ball3,
                            ball4     = pick.ball4,
                            ball5     = pick.ball5,
                            megaball  = pick.megaball,
                            megaplier = pick.megaplier,
                            pick_date = DateTime.Now
                        };

                        var existingPick = this._ctx.MegaPicks.FirstOrDefault(
                            x => x.ball1 == newPick.ball1 && x.ball2 == newPick.ball2 && x.ball3 == newPick.ball3 &&
                            x.ball4 == newPick.ball4 && x.ball5 == newPick.ball5 &&
                            x.megaball == newPick.megaball);

                        if (existingPick == null)
                        {
                            _ctx.MegaPicks.Add(newPick);
                        }
                    }
                    this.CleanUpMegaPicks();
                    SaveAll();
                    return(results);
                }
            }
            catch (Exception e)
            {
                _logger.LogError($"Failed to get Megamillion Picks: {e}");
                return(null);
            }
        }