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 })); }
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); }
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); }
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); }