Exemple #1
0
        public List <BettingAccount> GetWinnerBets(DogNameEnum winnerDog)
        {
            var winningAccounts = bettingAccountsHolder.Where(a => a.BettingDogNameSelected == winnerDog).ToList();

            _WinningBetNotified = true;
            return(winningAccounts);
        }
Exemple #2
0
        private void BtnAddDog_Click(object sender, RoutedEventArgs e)
        {
            DisplayStandardBetNotification();

            List <Image> allDogImages = new List <Image> {
                pictureBoxDog1, pictureBoxDog2, pictureBoxDog3, pictureBoxDog4
            };
            int dogPosition = objMediator.BtnAddDog_Click(ComboBoxRacingDogNames, LblAddNewDog, allDogImages);
            List <DogNameEnum> dogsNames = Enum.GetValues(typeof(DogNameEnum)).Cast <DogNameEnum>().ToList();
            DogNameEnum        dogName   = dogsNames[dogPosition - 1];
            var labelDescription         = $"Dog{ dogPosition}-{dogName}";

            if (dogPosition == 1)
            {
                LblDog1.Content = labelDescription;
            }
            if (dogPosition == 2)
            {
                LblDog2.Content = labelDescription;
            }
            if (dogPosition == 3)
            {
                LblDog3.Content = labelDescription;
            }
            if (dogPosition == 4)
            {
                LblDog4.Content = labelDescription;
            }
        }
Exemple #3
0
        public DogNameEnum PlaceBetNoDogSelectedValidation(Label labelNotification, ComboBox comboBox)
        {
            object selectedItem = comboBox.SelectedItem;

            if (selectedItem != null)
            {
                DogNameEnum dogSelected = (DogNameEnum)selectedItem;
                if (dogSelected == 0)
                {
                    labelNotification.Content    = ClientValidation.BetValidationComboBoxNoDogSelectedWarning();
                    labelNotification.Foreground = NotificationColors.GetBrushColor(NotificationEnum.Warning);
                }
                else
                {
                    var allDogs         = Enum.GetValues(typeof(DogNameEnum)).Cast <DogNameEnum>().ToList();
                    var selectedDogName = allDogs.Where(a => a.ToString() == dogSelected.ToString()).FirstOrDefault();
                    return(selectedDogName);
                }
            }
            else
            {
                labelNotification.Content    = ClientValidation.BetValidationComboBoxNoDogSelectedWarning();
                labelNotification.Foreground = NotificationColors.GetBrushColor(NotificationEnum.Warning);
            }
            return(0);
        }
Exemple #4
0
        public Notification Execute(object obj = null)
        {
            Notification       notification         = new Notification();
            BettingAccount     bettingAccount       = (BettingAccount)obj;
            GuyNameEnum        betGuyName           = bettingAccount.BettingAccountHolderName;
            DogNameEnum        betDogName           = bettingAccount.BettingDogNameSelected;
            int                betAmount            = bettingAccount.BettingAmount;
            IEnumerable <IGuy> allGuysInTheStadium  = _dogRacePalaceStadium.GetAllGuysInTheStadium();
            IGuy               selectedGuyInStadium = allGuysInTheStadium.Where(a => a.Name == betGuyName).FirstOrDefault();

            if (selectedGuyInStadium == null)
            {
                notification.Description = AllNotifications.NoGuyAddedToTheStadiumWarning();
                notification.Code        = NotificationEnum.Warning;
            }
            else
            {
                var guyCashBalance = selectedGuyInStadium.GetMoneyBalance();
                if (guyCashBalance < betAmount)
                {
                    notification.Description = AllNotifications.BetNotEnoughCashWarning(betGuyName.ToString(), betAmount, (int)guyCashBalance);
                    notification.Code        = NotificationEnum.Warning;
                }
                else
                {
                    selectedGuyInStadium.WithdrawMoney(betAmount);
                    _bettingBank.AddBettingAccountToBettingBank(bettingAccount);

                    notification.Description = ClientValidation.StandardBettingNotification();
                    notification.Code        = NotificationEnum.Ok;
                }
            }
            notification.Items = allGuysInTheStadium.Count();
            return(notification);
        }
Exemple #5
0
        public void BtnPlaceBet_Click(Label LblBetNotification, List <Label> allGuysLabels, ListBox listBoxBetsPlaced, GuyNameEnum guyName, DogNameEnum dogName, int betAmount)
        {
            ICommand       placeBetCommand = _commandInvoker.GetCommand(ActionCommandEnum.PlaceBet);
            BettingAccount bettingAccount  = new BettingAccount()
            {
                BettingAccountHolderName = guyName, BettingDogNameSelected = dogName, BettingAmount = betAmount
            };
            var notification = placeBetCommand.Execute(bettingAccount);

            LblBetNotification.Content    = notification.Description;
            LblBetNotification.Foreground = NotificationColors.GetBrushColor(notification.Code);
            listBoxBetsPlaced.ItemsSource = _bettingBank.GetAllBetsAsDescriptions();
            UpdateGuysLabels(allGuysLabels);
        }