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")); }
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(); }
public ActionResult Create(long id) { var viewModel = new CreateBetViewModel() { LobbyID = id }; return(View(viewModel)); }
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)); }
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)); }
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}")); } }
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()); }
public void Setup() { uut = new CreateBetViewModel(); }