Exemplo n.º 1
0
        public ActionResult CreateBet(string jsonModel)
        {
            try
            {
                CreateBetViewModel model = JsonConvert.DeserializeObject <CreateBetViewModel>(jsonModel);
                Bet bet = AutoMapper.Mapper.Map <CreateBetViewModel, Bet>(model);
                bet.StatusId = BetsRepository.GetStatusNumber(BetStatus.Applying);
                bet.Interest = unitOfWork.InterestsRepository.Get(bet.InterestId);
                unitOfWork.BetsRepository.Create(bet);
                bet.Id = unitOfWork.BetsRepository.GetAll().LastOrDefault().Id;
                string curUserId = unitOfWork.UsersRepository.GetAll().Where(u => u.UserName == User.Identity.Name).FirstOrDefault().Id;
                unitOfWork.Save();
                unitOfWork.UsersInBetRepository.CreateForUser(curUserId, bet);
                foreach (var user in model.Users)
                {
                    unitOfWork.UsersInBetRepository.CreateForUser(user.Id, bet);
                }

                ViewBag.SuccesCreateBet = true;
                unitOfWork.Save();
                RedirectToAction("AllBets", "Bet");
            }
            catch (Exception ex)
            {
                throw;
            }
            return(RedirectToAction("AllUsers", "Home"));
        }
Exemplo n.º 2
0
        public void Create_CallsRepositoryAdd()
        {
            // Register a lobby with the mock.
            var lobby = new Lobby()
            {
                Bets = new List <Bet>()
            };

            LobbyRepository.Get(Arg.Any <long>()).Returns(lobby);

            // Assert that we hit the repository.
            BetRepository.DidNotReceive().Add(Arg.Any <Bet>());
            MyWork.DidNotReceive().Complete();

            var viewModel = new CreateBetViewModel()
            {
                BuyIn       = "0",
                Description = "Description",
                LobbyID     = 0,
                StartDate   = DateTime.Now.ToLongDateString(),
                StopDate    = DateTime.Now.ToLongDateString(),
                Title       = "Name"
            };

            uut.Create(viewModel);

            Assert.That(uut.ModelState.IsValid);

            // Assert that we hit the repository.
            BetRepository.Received(1).Add(Arg.Any <Bet>());
            MyWork.Received(1).Complete();
        }
Exemplo n.º 3
0
        public ActionResult Create(long id)
        {
            var viewModel = new CreateBetViewModel()
            {
                LobbyID = id
            };

            return(View(viewModel));
        }
Exemplo n.º 4
0
        public ActionResult CreateWithMultipleUsers(IEnumerable <string> users = null)
        {
            if (users == null)
            {
                return(RedirectToAction("AllUsers", "Home"));
            }
            CreateBetViewModel model = new CreateBetViewModel();

            model.Users = AutoMapper.Mapper.Map <IEnumerable <UserInfoViewModel> >(unitOfWork.UsersRepository.GetAll().Where(u => users.Contains(u.Id)).ToList());
            model.AddInterests(unitOfWork.InterestsRepository.GetAll().ToList());
            return(View(model));
        }
Exemplo n.º 5
0
 public ActionResult Create(CreateBetViewModel model)
 {
     if (ModelState.IsValid)
     {
         Bet bet = AutoMapper.Mapper.Map <Bet>(model);
         bet.StatusId = BetsRepository.GetStatusNumber(BetStatus.Applying);
         unitOfWork.BetsRepository.Create(bet);
         unitOfWork.Save();
         RedirectToAction("Index");
     }
     return(View(model));
 }
Exemplo n.º 6
0
        public ActionResult Create(CreateBetViewModel viewModel)
        {
            // TODO: Fix validation.
            if (!TryValidateModel(viewModel))
            {
                return(View(viewModel));
            }

            using (var myWork = _factory.GetUOF())
            {
                // Create the bet.
                var bet = new Bet()
                {
                    BuyIn       = Decimal.Parse(viewModel.BuyIn),
                    Description = viewModel.Description,
                    Name        = viewModel.Title,
                    Judge       = myWork.User.Get(viewModel.Judge),
                    StartDate   = DateTime.Parse(viewModel.StartDate),
                    StopDate    = DateTime.Parse(viewModel.StopDate)
                };
                /* TODO: Hardcoded indtil vi nemt kan hente et User-objekt fra databasen givet et Username! */

                var outcome1 = new Common.Models.Outcome()
                {
                    Name        = viewModel.Outcome1,
                    Description = viewModel.Outcome1
                };
                var outcome2 = new Common.Models.Outcome()
                {
                    Name        = viewModel.Outcome2,
                    Description = viewModel.Outcome2
                };
                bet.Outcomes.Add(outcome1);
                bet.Outcomes.Add(outcome2);

                myWork.Bet.Add(bet);

                // Get the lobby.
                var lobby = myWork.Lobby.Get(viewModel.LobbyID);
                lobby.Bets.Add(bet);

                myWork.Complete();

                // Redirect to the bet page.
                return(Redirect($"/Bet/Show/{bet.BetId}"));
            }
        }
Exemplo n.º 7
0
        public async Task <IActionResult> OnGetAsync(Guid?matchId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(NotFound());
            }
            var match = await _context.Matches.Include(c => c.HomeTeam).Include(c => c.AwayTeam).FirstOrDefaultAsync(m => m.Id == matchId);

            var userId = Guid.Parse(User.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value);

            Bet = new CreateBetViewModel(match, userId);
            if (match.Date.AddMinutes(1) < DateTime.Now)
            {
                NotFound();
            }
            return(Page());
        }
Exemplo n.º 8
0
 public void Setup()
 {
     uut = new CreateBetViewModel();
 }