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); }
public IGuy CreateGuy(GuyNameEnum guyName) { IGuy guy = ContainerConfig.GetInstance <IGuy>(); guy.Name = guyName; guy.SetDeposit(0); return(guy); }
public Notification Execute(object obj = null) { var guyName = (GuyNameEnum)obj; var notification = new Notification(); var allGuys = _dogRacePalaceStadium.GetAllGuysInTheStadium(); var existingGuy = allGuys.Where(a => a.Name == guyName).FirstOrDefault(); if (existingGuy != null) { notification.Code = NotificationEnum.Warning; notification.Description = AllNotifications.GuyAddedToStadiumWarning(existingGuy.Name.ToString()); notification.Items = allGuys.Count(); } else { IGuy newGuy = _dogRacePalaceStadium.CreateGuy(guyName); _dogRacePalaceStadium.AddGuyToTheStadium(newGuy); notification.Code = NotificationEnum.Ok; notification.Description = AllNotifications.GuyAddedToStadiumOk(newGuy.Name.ToString()); notification.Items = _dogRacePalaceStadium.GetAllGuysInTheStadium().Count(); } return(notification); }
public CollideResult Collide(IGuy otherObject) { throw new NotImplementedException(); }
public void RemoveGuyFromTheStadium(IGuy guy) { guysInTheStadium.Remove(guy); }
public void AddGuyToTheStadium(IGuy guy) { guysInTheStadium.Add(guy); }