Esempio n. 1
0
        public async Task <IActionResult> Create(TrainingCreateBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }

            var trainingId = await this.trainingsService.CreateTrainingAsync(model, this.User.Identity.Name);

            return(this.RedirectToAction(ActionConstants.Details, ControllerConstants.Trainings, new { id = trainingId }));
        }
Esempio n. 2
0
        public async Task CreateTrainingAsync_WithValidModel_ShouldCreateIt()
        {
            var model = new TrainingCreateBindingModel()
            {
                Name = trainingName
            };

            await this.service.CreateTrainingAsync(model, MockUserManager.testUsername);

            Assert.AreEqual(1, this.dbContext.Trainings.Count());
            Assert.AreEqual(MockUserManager.testUserId, this.dbContext.Trainings.First().UserId);
        }
Esempio n. 3
0
        public async Task Create_WithValidModel_ShouldRedirectToDetailsAction()
        {
            var model = new TrainingCreateBindingModel()
            {
                Name        = name,
                Type        = type,
                Description = description
            };

            var result = await this.GetTrainingsController().Create(model);

            Assert.IsTrue(result is RedirectToActionResult);
            Assert.AreEqual(ActionConstants.Details, ((RedirectToActionResult)result).ActionName);
        }
Esempio n. 4
0
        public async Task <int> CreateTrainingAsync(TrainingCreateBindingModel model, string username)
        {
            CoreValidator.ThrowIfNull(model);

            var user = await this.GetUserByNamedAsync(username);

            var training = this.Mapper.Map <Training>(model);

            training.UserId = user.Id;

            this.DbContext.Trainings.Add(training);
            await this.DbContext.SaveChangesAsync();

            return(training.Id);
        }