Esempio n. 1
0
        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>();
            }