public TransactionDTO <bool> ValidatePlayerBalance(ValidateBalancePlayerId validateBalancePlayerId) { TransactionDTO <bool> transaction = new TransactionDTO <bool>(); transaction.Data = false; try { var balance = GetPlayerBalanceById(validateBalancePlayerId.PlayerId); if ((balance.Data - validateBalancePlayerId.Price) < 0) { transaction.Status = Common.Status.Failure; transaction.Message = "Saldo insuficiente para realizar la puesta."; return(transaction); } transaction.Data = true; } catch (ArgumentException ex) { transaction.Status = Common.Status.Failure; transaction.Message = ex.Message; } return(transaction); }
public TransactionDTO <bool> ValidatePlayerBalance(ValidateBalancePlayerId validateBalancePlayerId) { return(_playerBL.ValidatePlayerBalance(validateBalancePlayerId)); }
public TransactionDTO <string> CreateBet(CreateBetDTO createBet) { TransactionDTO <string> transaction = new TransactionDTO <string>(); try { var getPlayerById = _playerServices.GetPlayerById(createBet.PlayerId); if (getPlayerById.Data == null || getPlayerById.Data.Id == 0) { transaction.Status = Common.Status.Failure; transaction.Message = getPlayerById.Message; return(transaction); } ValidateBalancePlayerId validateBalancePlayerId = new ValidateBalancePlayerId(createBet.PlayerId, createBet.Prize); var validatePlayerBalance = _playerServices.ValidatePlayerBalance(validateBalancePlayerId); if (!validatePlayerBalance.Data) { transaction.Status = Common.Status.Failure; transaction.Message = validatePlayerBalance.Message; return(transaction); } var validateBet = ValidateBet(createBet); if (!validateBet.Data) { transaction.Status = Common.Status.Failure; transaction.Message = validateBet.Message; return(transaction); } var validateRouletteStatus = _rouletteServices.ValidateRouletteStatus(createBet.RouletteId); if (!validateRouletteStatus.Data) { transaction.Status = Common.Status.Failure; transaction.Message = validateRouletteStatus.Message; return(transaction); } if (createBet.Prize > 10000) { transaction.Status = Common.Status.Failure; transaction.Message = "La apuesta supera el valor permitido de 10000."; return(transaction); } var getBetTypeByCode = _betTypeServices.GetBetTypeByCode(createBet.BetType); if (getBetTypeByCode.Data.Id == 0) { transaction.Status = Common.Status.Failure; transaction.Message = getBetTypeByCode.Message; return(transaction); } createBet.BetTypeId = getBetTypeByCode.Data.Id; var transCreateBet = _betServices.CreateBet(createBet); transaction.Status = (transCreateBet.Data.Flag) ? Common.Status.Success : Common.Status.Failure; transaction.Message = transCreateBet.Message; transaction.Data = transCreateBet.Data.Message; } catch (ArgumentException ex) { transaction.Status = Common.Status.Failure; transaction.Message = ex.Message; } return(transaction); }