private async Task CreateAndSaveCard(CreateSkiCardViewModel viewModel) { var userId = _userManager.GetUserId(User); _logger.LogDebug($"Creating ski card for {userId}"); using (_logger.BeginScope($"CreateSkiCard: {userId}")) { Guid?imageId = null; if (HasCardImage(viewModel)) { imageId = await UploadImage(viewModel, userId); } _logger.LogInformation($"Saving ski card to DB for {userId}"); var skiCard = new SkiCard { ApplicationUserId = userId, CreatedOn = DateTime.UtcNow, CardHolderFirstName = viewModel.CardHolderFirstName, CardHolderLastName = viewModel.CardHolderLastName, CardHolderBirthDate = viewModel.CardHolderBirthDate.Value.Date, CardHolderPhoneNumber = viewModel.CardHolderPhoneNumber, CardImageId = imageId }; _skiCardContext.SkiCards.Add(skiCard); await _skiCardContext.SaveChangesAsync(); _logger.LogInformation("Ski card created for " + userId); } }
public async Task <ActionResult> Create(CreateSkiCardViewModel viewModel) { if (ModelState.IsValid) { var userId = _userManager.GetUserId(User); SkiCard skiCard = new SkiCard { ApplicationUserId = userId, CreatedOn = DateTime.UtcNow, CardHolderFirstName = viewModel.CardHolderFirstName, CardHolderLastName = viewModel.CardHolderLastName, CardHolderBirthDate = viewModel.CardHolderBirthDate.Value.Date, CardHolderPhoneNumber = viewModel.CardHolderPhoneNumber }; _skiCardContext.SkiCards.Add(skiCard); await _skiCardContext.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
public GivenAHackerTriesToEditSomeoneElsesSkiCard() { _skiCardContext = new SkiCardContext(InMemoryDbContextOptionsFactory.Create <SkiCardContext>()); _skiCard = new SkiCard { ApplicationUserId = Guid.NewGuid().ToString(), Id = 5, CardHolderFirstName = "James", CardHolderLastName = "Chambers", CardHolderBirthDate = DateTime.Now.AddYears(-150), CardHolderPhoneNumber = "555-555-5555", CreatedOn = DateTime.UtcNow }; _skiCardContext.SkiCards.Add(_skiCard); _skiCardContext.SaveChanges(); _badGuyPrincipal = new ClaimsPrincipal(); _controllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext { User = _badGuyPrincipal } }; _mockAuthorizationService = new Mock <IAuthorizationService>(); }