示例#1
0
        public IActionResult UpdateUserGame(UserGameUpdateModel userGameUpdateModel)
        {
            try
            {
                UserGames findUserGames = _userGameDataAccess.GetByIdAsync(userGameUpdateModel.UserGameId.ToString()).Result;
                //findUserGames.Id = userGameUpdateModel.UserGameId.ToString();
                findUserGames.GameId       = userGameUpdateModel.GameId;
                findUserGames.UserId       = userGameUpdateModel.UserId;
                findUserGames.GameUserName = userGameUpdateModel.GameUserName;



                var userGame = _userGameDataAccess.UpdateAsync(userGameUpdateModel.UserGameId.ToString(), findUserGames).Result;

                if (userGame == null)
                {
                    return(BadRequest(new { message = "User eklenemedi!" }));
                }

                return(Ok(new { userGame }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
示例#2
0
        public void ProcessResult()
        {
            UserGames userGames = new UserGames();

            userGames.TotalScore = logic.GetPlayerPoints();
            userGames.UserName   = username;
            if (logic.Compare())
            {
                userGames.GameStatus = "WIN";
            }
            else
            {
                userGames.GameStatus = "LOSE";
            }
            manager.AddNewUserGame(userGames);
            AlertDialog.Builder dialog = new AlertDialog.Builder(this);
            AlertDialog         alert  = dialog.Create();

            alert.SetTitle("Hangman");
            alert.SetMessage("Click OK to Process Result");
            alert.SetIcon(Resource.Drawable.abc_btn_borderless_material);
            alert.SetButton("OK", (c, ev) =>
            {
                Intent intent = new Intent(this, typeof(ResultActivity));
                intent.PutExtra("Status", userGames.GameStatus);
                intent.PutExtra("UserName", username);
                StartActivity(intent);
                Finish();
            });
            alert.Show();
        }
 public async Task Delete(UserGames userGames)
 {
     using (IDbConnection db = new SqlConnection(connectionString))
     {
         var invoice = await db.DeleteAsync(userGames);
     }
 }
示例#4
0
        public async Task BuyGame(string gameId, string userId)
        {
            var user = this.userRepository.All()
                       .FirstOrDefault(x => x.Id == userId);
            var game = this.GetGameById(gameId);

            if (user == null || game == null)
            {
                throw new Exception("Please Login in.");
            }

            var exist = this.userGamesRepository.All().FirstOrDefault(x => x.GameId == gameId && x.ApplicationUserId == userId);

            if (exist == null)
            {
                var userGames = new UserGames
                {
                    ApplicationUserId = userId,
                    ApplicationUser   = user,
                    Game   = game,
                    GameId = gameId,
                };

                game.Users.Add(userGames);
                user.Games.Add(userGames);
                await this.repository.SaveChangesAsync();

                await this.userRepository.SaveChangesAsync();
            }
            else
            {
                throw new Exception(" Invalid operation");
            }
        }
示例#5
0
        public bool AddToFavourites(string userId, int gameId)
        {
            var user = this.DbContext
                       .Users
                       .FirstOrDefault(x => x.Id == userId);

            var game = this.DbContext
                       .Games
                       .FirstOrDefault(x => x.Id == gameId);

            if (user == null || game == null)
            {
                return(false);
            }

            var userGame = new UserGames()
            {
                UserId = userId,
                GameId = gameId,
                AddedToFavouritesOn = DateTime.UtcNow
            };

            bool alreadyInFavourites = this.DbContext.FavouriteUserGames
                                       .Any(x => x.UserId == userId && x.GameId == gameId);

            if (alreadyInFavourites)
            {
                return(false);
            }

            user.FavouriteGames.Add(userGame);
            this.DbContext.SaveChanges();

            return(true);
        }
示例#6
0
        public UserGames GetGames(string id, string otheruserid)
        {
            logger.Debug(Settings.MethodName());

            if (isCorrectUser(id))
            {
                // voor het opvragen van games van een andere gebruiker, gebruiken we het andere id
                if (!String.IsNullOrEmpty(otheruserid))
                {
                    id = otheruserid;
                }

                UserGames userGames = new UserGames();

                long userid;
                long.TryParse(id, out userid);

                S_User user = UserManager.GetUserById(userid);

                if (user != null)
                {
                    userGames = GameManager.GetGamesByUser(user);
                }

                return(userGames);
            }

            return(null);
        }
        public async Task Create(UserGames userGames)
        {
            using (IDbConnection db = new SqlConnection(connectionString))
            {
                var invoice = await db.InsertAsync(userGames);

                userGames.Id = invoice;
            }
        }
示例#8
0
 public void OnGet()
 {
     Games     = _igame.GetCurrentGame();
     UserGames = _igame.GetUserGames();
     for (int board = 0; board < UserGames.Count(); board++)
     {
         IList <NavyBattlePiece> navyBattlePieces = _igame.GetNavyBattlePieces(UserGames[board].Id);
         GameBoardModel          newBoard         = new GameBoardModel(navyBattlePieces, UserGames[board], _igame.GetActiveUserId());
         GameBoardModels.Add(newBoard);
     }
 }
        public void CreateUserGame(int userId, string citiesIds)
        {
            var userGame = new UserGames
            {
                UserID        = userId,
                CreatedDate   = DateTime.Now,
                SelectedRoute = citiesIds,
            };

            bazka.UserGames.Add(userGame);
            bazka.SaveChanges();
        }
示例#10
0
        public bool SaveGame(int userID, int gameID)
        {
            if (context.UserGames.Any(ug => ug.UserID == userID && ug.GameID == gameID))
            {
                return(false);
            }
            UserGames userGame = new UserGames();

            userGame.UserID = userID;
            userGame.GameID = gameID;
            context.UserGames.Add(userGame);
            context.SaveChanges();
            return(true);
        }
示例#11
0
 /// <summary>
 /// This method will be called during manual saving and automatically when form is closing.
 /// </summary>
 public static void SaveAll()
 {
     Properties.Settings.Default.Save();
     OptionsData.Save();
     UserSettings.Save();
     Summaries.Save();
     Programs.Save();
     UserGames.Save();
     Presets.Save();
     Layouts.Save();
     UserDevices.Save();
     UserMacros.Save();
     PadSettings.Save();
     UserInstances.Save();
     XInputMaskScanner.FileInfoCache.Save();
 }
示例#12
0
        public IActionResult CreateUserGame(UserGames userGames)
        {
            var userGame = _userGameDataAccess.AddAsync(new UserGames()
            {
                Id           = ObjectId.GenerateNewId().ToString(),
                GameId       = userGames.GameId,
                UserId       = userGames.UserId,
                GameUserName = userGames.GameUserName
            });

            if (userGame == null)
            {
                return(BadRequest(new { message = "User eklenemedi!" }));
            }

            return(Ok(new { userGame.Result }));
        }
        /// <summary>
        /// Get all information about user
        /// </summary>
        /// <param name="enteredUserName"> Entered username by user </param>
        public void GetUserInfo(string enteredUserName)
        {
            if (enteredUserName == null)
            {
                return;
            }

            enteredUserName = enteredUserName.Remove(0, enteredUserName.LastIndexOf("/") + 1);

            var isContinue = _parseService.GetUserAccountInfo(enteredUserName);

            _page.Dispatcher.Invoke(() =>
            {
                if (isContinue)
                {
                    // write UserInfo data
                    _userData.UserName          = _parseService.UserNameParse;
                    _userData.UserGameCount     = _parseService.GameCountParse;
                    _userData.UserCountryCode   = _parseService.UserCountryCodeParse;
                    _userData.UserAvatar        = _parseService.UserAvatarParse;
                    _userData.UserProfileStatus = _parseService.UserProfileStatusParse;
                    _userData.UserProfileState  = _parseService.UserProfileStateParse;

                    // initialize ViewModel properties
                    UserName          = _userData.UserName;
                    UserGameCount     = _userData.UserGameCount;
                    UserCountryCode   = _userData.UserCountryCode;
                    UserAvatar        = _userData.UserAvatar;
                    UserProfileStatus = _userData.UserProfileStatus;
                    UserProfileState  = _userData.UserProfileState;

                    AmountGamesAll       = 0;
                    AmountGamesWithCards = 0;
                    GamesAllSumm         = 0;
                    GamesWithCardsSumm   = 0;
                    PricesAll.Clear();
                    PricesOnlyCards.Clear();
                    UserGames.Clear();

                    CanCloseAvailableAll = true;
                }
            });
        }
示例#14
0
        private void InitialData()
        {
            var game = new Game()
            {
                Id   = 1,
                Name = "Game"
            };

            Games.TryAdd(1, game);

            Random random = new Random();

            for (int i = 1; i <= 200; i++)
            {
                var user = new User()
                {
                    Id        = i,
                    FirstName = string.Format("FirstName_{0}", i),
                    LastName  = string.Format("LastName_{0}", i),
                };

                int randomScore = random.Next(0, 1000);

                var userGame = new UserGame()
                {
                    Id     = i,
                    UserId = user.Id,
                    User   = user,
                    GameId = game.Id,
                    Game   = game,
                    Score  = randomScore
                };

                user.Games = new List <UserGame>()
                {
                    userGame
                };

                UserGames.TryAdd(userGame.Id, userGame);
                Users.TryAdd(user.Id, user);
            }
        }
示例#15
0
        public (Tokens, Result) Get_Member(Tokens pEfToken)
        {
            #region Prep
            Games    efGame = null;
            Profiles efProfileMe = null;
            Profiles efProfileOp = null; UserGames efGameOp = null;

            var game_Script   = new List <List <Script> >();
            var turn_piecePos = Move.StartPiecePos;

            DateTime?turnExpiration = null;
            var      script         = new List <List <String> >();
            var      whitesTurn     = true;
            double   secondsLeft    = 0;
            int[]    piecePos       = null;
            object   turn           = null;

            var gamesActive        = new List <object>();
            var challengesReceived = new List <object>();
            var challengesSent     = new List <object>();
            #endregion

            #region Get efUser & efProfiles

            if (pEfToken.UserId == null)
            {
                return(pEfToken, new Result("UserIdIsNull", null));
            }
            var efUser     = EfUser.Get(pEfToken.UserId.Value);
            var efProfiles = EfProfile.Gets(pEfToken.UserId.Value);

            #endregion

            #region Email

            var emailEntry = (efUser.EmailConfirmCode == null || efUser.EmailConfirmCode.Trim() == "");
            var email      = new { Entry = emailEntry, Address = efUser.EmailAddress };
            #endregion

            #region Phone

            var carriers   = EfCarrier.GetNames();
            var phoneEntry = (efUser.PhoneConfirmCode.Trim() == "") ? true : false;
            var phone      = new { Carriers = carriers, Entry = phoneEntry, Carrier = efUser.PhoneCarrier, Number = efUser.PhoneNumber };

            #endregion

            #region Practice
            object practice;
            efGame = EfGame.Get(pEfToken.UserId.Value); // Practice game uses the UserId as the Id

            if (efGame == null || efGame.Script == "")
            {
                practice = new { Script = "", Turn = new { } }
            }
            ;
            else
            {
                //script = new List<List<String>>();
                //foreach (var xTurnScript in efGame.Script.Split(';').ToList()) script.Add(xTurnScript.Split(',').ToList());
                //piecePos = Array.ConvertAll(efGame.PiecePos.Split(',').ToArray(), int.Parse);

                turn_piecePos = JsonConvert.DeserializeObject <int[]>(efGame.PiecePos);
                game_Script   = JsonConvert.DeserializeObject <List <List <Script> > >(efGame.Script);

                var pTurn = Move.GetTurn(game_Script, piecePos);
                practice = new { Script = game_Script, Turn = pTurn };
            }

            #endregion

            #region Online

            #region foreach (var xEfGameMe in efGamesMe)
            foreach (var xEfGameMe in EfUserGame.GetsForUserId(pEfToken.UserId.Value))
            {
                #region Prep

                efGame = EfGame.Get(xEfGameMe.GameId); if (efGame == null)
                {
                    continue;
                }
                efGameOp = EfUserGame.GetForIdDifferentUserId(xEfGameMe.GameId, efUser.Id); if (efGameOp == null)
                {
                    continue;
                }
                efProfileOp = EfProfile.GetForUserIdProfileIdx(efGameOp.UserId, efGameOp.ProfileIdx);
                var OpImg_Src = (efProfileOp.PhotoBytes == null) ? null : Images.GetBase64String(efProfileOp.PhotoBytes);

                #endregion

                #region script & whitesTurn
                if (xEfGameMe.PlayingAsWhite != null)
                {
                    if (efGame.Script == "")
                    {
                        script = new List <List <String> >();
                    }
                    else
                    {
                        script = new List <List <String> >();
                        foreach (var xTurnScript in efGame.Script.Split(';').ToList())
                        {
                            script.Add(xTurnScript.Split(',').ToList());
                        }
                        whitesTurn = (script.Count() % 2 == 0);
                    }
                }
                #endregion

                #region Check turn_Expiration

                if (efGame.Sts == "A")
                {
                    if (efGame.LastActionDt != null)
                    {
                        turnExpiration = Game.GetTurnExpiration(efGame.LastActionDt.Value, System.Convert.ToChar(efGame.TimeInc), efGame.TimeAmt.Value);
                    }
                    if (turnExpiration.Value > DateTime.Now)
                    {
                        secondsLeft = Math.Round((turnExpiration.Value - DateTime.Now).TotalSeconds);
                    }
                    else
                    {
                        efProfileMe = EfProfile.GetForUserIdProfileIdx(xEfGameMe.UserId, xEfGameMe.ProfileIdx);

                        #region update eGame
                        efGame.LastActionDt = DateTime.Now;
                        efGame.IsOver       = true;
                        efGame.OverDt       = DateTime.Now;
                        efGame.Sts          = "O";
                        efGame.EndSts       = (whitesTurn) ? "W_TE" : "B_TE";
                        efGame.ChangeUserId = efProfileMe.UserId;
                        efGame.ChangeDt     = DateTime.Now;

                        #endregion

                        #region  update UserGames

                        xEfGameMe.Sts          = "H"; efGameOp.Sts = "H";
                        xEfGameMe.Iwon         = (whitesTurn != xEfGameMe.PlayingAsWhite); efGameOp.Iwon = !xEfGameMe.Iwon.Value;
                        xEfGameMe.ChangeUserId = xEfGameMe.UserId; efGameOp.ChangeUserId = xEfGameMe.UserId;
                        xEfGameMe.ChangeDate   = DateTime.Now; efGameOp.ChangeDate = DateTime.Now;

                        #endregion

                        #region  update eProfiles

                        (efProfileMe.Rating, efProfileOp.Rating) = CUtil.CalcRatings(xEfGameMe.Iwon.Value, efProfileMe.Rating, efProfileOp.Rating);
                        xEfGameMe.RatingAfter = efProfileMe.Rating;
                        efGameOp.RatingAfter  = efProfileOp.Rating;

                        #endregion
                    }
                }
                #endregion

                #region games.Add

                switch (xEfGameMe.Sts)
                {
                case "A":
                    #region piecePos & turn
                    if (script.Count() == 0)
                    {
                        piecePos = null; turn = null;
                    }
                    else
                    {
                        piecePos = Array.ConvertAll(efGame.PiecePos.Split(',').ToArray(), int.Parse);
                        turn     = Move.GetTurn(whitesTurn, piecePos);
                    }

                    #endregion

                    #region gamesActive.Add
                    gamesActive.Add(
                        new
                    {
                        Id = xEfGameMe.GameId,
                        xEfGameMe.GameName,
                        xEfGameMe.ProfileIdx,
                        Date = efGame.CreateDt.Value.ToString("MM/dd/yy"),
                        efGame.Rated,
                        efGame.TimeInc,
                        efGame.TimeAmt,

                        xEfGameMe.PlayingAsWhite,
                        Script = script,
                        Turn   = turn,

                        OpUserId = efProfileOp.UserId,
                        OpImg_Src,
                        OpName      = efProfileOp.NameFirst + " " + efProfileOp.NameLast,
                        OpGroup     = efProfileOp.Group,
                        OpRating    = efProfileOp.Rating,
                        SecondsLeft = secondsLeft
                    }
                        );
                    break;
                    #endregion

                case "R":
                    #region challengesReceived.Add
                    challengesReceived.Add(
                        new
                    {
                        Id       = xEfGameMe.GameId,
                        MotherId = efGame.RelatedId,
                        xEfGameMe.ProfileIdx,
                        Date = efGame.CreateDt.Value.ToString("MM/dd/yy"),
                        efGame.Rated,
                        efGame.TimeInc,
                        efGame.TimeAmt,
                        OpUserId = efProfileOp.UserId,
                        OpImg_Src,
                        OpName   = efProfileOp.NameFirst + " " + efProfileOp.NameLast,
                        OpGroup  = efProfileOp.Group,
                        OpRating = efProfileOp.Rating
                    }
                        );
                    break;
                    #endregion

                case "S":
                    #region gamesSent.Add
                    challengesSent.Add(
                        new
                    {
                        Id       = xEfGameMe.GameId,
                        MotherId = efGame.RelatedId,
                        xEfGameMe.ProfileIdx,

                        Date = efGame.CreateDt.Value.ToString("MM/dd/yy"),
                        efGame.Rated,
                        efGame.TimeInc,
                        efGame.TimeAmt,

                        OpImg_Src,
                        OpUserId = efProfileOp.UserId,
                        OpName   = efProfileOp.NameFirst + " " + efProfileOp.NameLast,
                        OpGroup  = efProfileOp.Group,
                        OpRating = efProfileOp.Rating
                    }
                        );
                    break;
                    #endregion
                }

                #endregion
            }
            #endregion


            var games = new
            {
                Active   = gamesActive,
                Received = challengesReceived,
                Sent     = challengesSent
            };

            #endregion

            #region Membership

            var expiration = (efUser.MembershipExpiration == null) ? DateTime.Now.AddYears(1).ToString("MM/dd/yy") : efUser.MembershipExpiration.Value.ToString("MM/dd/yy");
            var membership = new { Level = efUser.MembershipLevel, Expiration = expiration };

            #endregion

            #region Options

            var options = new
            {
                EmailAlerts    = efUser.OptsEmailAlerts,
                PhoneAlerts    = efUser.OptsPhoneAlerts,
                AudioOn        = efUser.OptsAudioOn,
                ClockShow      = efUser.OptsClockShow,
                PostToFacebook = efUser.OptsPostToFacebook
            };

            #endregion

            #region Profiles

            var profiles = new List <object>();
            foreach (var x in EfProfile.Gets(pEfToken.UserId.Value))
            {
                var photo_Src  = Images.GetBase64String(x.PhotoBytes);
                var startParms = new { Rated = x.StartParmsRated, TimeInc = x.StartParmsTimeInc, TimeAmt = x.StartParmsTimeAmt, OpFindBy = x.StartParmsOpFindBy };
                var startEmail = new { Email = x.StartEmailEmail, NameFirst = x.StartEmailNameFirst, NameLast = x.StartEmailNameLast };
                var search     = new
                {
                    By            = x.SearchBy,
                    RatingMin     = x.SearchRatingMin,
                    RatingMax     = x.SearchRatingMax,
                    TextNameFirst = x.SearchTextNameFirst,
                    TextGroup     = x.SearchTextGroup,
                    TextNameLast  = x.SearchTextNameLast,
                    TextUserId    = x.SearchTextUserId
                };
                var activeGames = EfUserGame.CountForUserIdProfileIdxSts(x.UserId, x.Idx, "A");
                var challenges  = EfUserGame.CountForUserIdProfileIdxSts(x.UserId, x.Idx, "R") + EfUserGame.CountForUserIdProfileIdxSts(x.UserId, x.Idx, "S");
                var wins        = EfUserGame.CountForUserIdProfileIdxIWon(x.UserId, x.Idx, false);
                var losses      = EfUserGame.CountForUserIdProfileIdxIWon(x.UserId, x.Idx, false);
                var winsLosses  = wins.ToString() + "/" + losses.ToString();
                profiles.Add(new
                {
                    x.Idx,
                    Photo_Src = photo_Src,
                    UserId    = x.UserIdtext,
                    x.NameFirst,
                    x.NameLast,
                    x.Group,
                    x.Rating,
                    Challenges  = challenges.ToString(),
                    ActiveGames = activeGames,
                    WinsLosses  = winsLosses,
                    Search      = search,
                    StartEmail  = startEmail,
                    StartParms  = startParms,
                });
            }
            var(ProfilesLimit, GamesLimit, ProfilesMax) = User.GetLimits(efUser.MembershipLevel);
            #endregion

            #region Save and return

            return(pEfToken,
                   new Result(
                       new
            {
                GamesLimit,
                Games = games,
                ProfileIdxDefault = efUser.ProfileIdxDefault,
                ProfilesLimit,
                Profiles = profiles,
                Practice = practice,

                Membership = membership,
                Email = email,
                Phone = phone,
                Options = options
            }
                       )
                   );

            #endregion
        }
 public async Task Delete(UserGames userGames)
 {
     data.UserGames.Remove(userGames);
     await data.SaveChangesAsync();
 }
 public async Task Update(UserGames userGames)
 {
     data.Entry(userGames).State = EntityState.Modified;
     await data.SaveChangesAsync();
 }
 public async Task Create(UserGames userGames)
 {
     data.UserGames.Add(userGames);
     await data.SaveChangesAsync();
 }
        /// <summary>
        /// Get information abount all available games
        /// </summary>
        public void GetAvailableGamesInfo()
        {
            var isContinueGames = _parseService.GetUserGamesInfo();

            _page.Dispatcher.Invoke(() =>
            {
                if (isContinueGames && UserName != null)
                {
                    foreach (var parsedItem in _parseService.UserGames)
                    {
                        UserGames.Add(parsedItem);
                    }
                }
                else
                {
                    MessageBox.Show("No entered user", "No user error");
                    return;
                }

                if (ViewModelHelper.DigGames.Count != 0)
                {
                    var tempList = ViewModelHelper.DigGames
                                   .Where(item => !UserGames.Contains(item))
                                   .ToList();

                    TempList = tempList;

                    var twmpList = new int[ViewModelHelper.DigGames.Count];

                    for (int i = 0; i < ViewModelHelper.DigGames.Count; i++)
                    {
                        if (!UserGames.Any(x => x == ViewModelHelper.DigGames[i]))
                        {
                            twmpList[i] = i;
                        }
                        else
                        {
                            twmpList[i] = 0;
                        }
                    }

                    PricesAll.Clear();
                    PricesAll.Add(0.05);
                    for (int i = 0; i < twmpList.Length; i++)
                    {
                        if (twmpList[i] != 0)
                        {
                            PricesAll.Add(ViewModelHelper.PricesAll[i]);
                        }
                    }

                    GamesAllSumm = Math.Round(PricesAll.Sum(), 3);

                    AmountGamesAll = TempList.Distinct().Count();

                    for (var i = 0; i < TempList.Count; i++)
                    {
                        if (!UserAllGamesDict.ContainsKey(TempList[i]))
                        {
                            UserAllGamesDict.Add(TempList[i], PricesAll[i]);
                        }
                    }

                    /// write user all info into helper class

                    ViewModelHelper.AllGamesUserHelper      = AmountGamesAll;
                    ViewModelHelper.AllGamesUserPriceHelper = GamesAllSumm;

                    ViewModelHelper.UserName = UserName;

                    TempList.Clear();
                    ListViewSourse.Clear();

                    foreach (var item in UserAllGamesDict)
                    {
                        ListViewSourse.Add($"Game: {item.Key} | Price: ${item.Value}");
                    }

                    CanCloseSaveAll = true;
                }

                else
                {
                    MessageBox.Show("No games from DIG", "No dig games error");
                    return;
                }

                CanCloseAvailableAllCards = true;
            });
        }
 public void FillRaffleCompatibilityLength(UserGames userGame)
 {
     bazka.Entry(userGame).State = EntityState.Modified;
     bazka.SaveChanges();
 }