public ActionResult Finish(int id) { try { if (!this.HasRights(id)) { throw new OperationCanceledException("You do not have rights for this operation!"); } var exam = this.examService.ChangeStatus(id, LessonStatus.Finished).GetAwaiter().GetResult(); var model = new CreateCertificateInputModel() { CourseId = exam.CourseId, CustomerId = exam.CustomerId }; var certificate = this.certificateService.Create(model).GetAwaiter().GetResult(); return(this.RedirectToAction("Details", "Certificates", new { id = certificate.Id })); } catch (Exception e) { return(this.View("_Error", e.Message)); } }
public async Task <Certificate> Create(CreateCertificateInputModel model) { var certificate = new Certificate { CourseId = model.CourseId, CustomerId = model.CustomerId }; await this.certificateRepository.AddAsync(certificate); await this.certificateRepository.SaveChangesAsync(); return(certificate); }
public void Create_ValidInputModel_ReturnsCreatedCertificate() { var certificate = new Certificate() { CourseId = 1, CustomerId = 2 }; this.repository.Setup(r => r.AddAsync(certificate)).Returns(Task.FromResult(certificate)); var model = new CreateCertificateInputModel() { CourseId = 1, CustomerId = 2 }; var result = this.certificateService.Create(model).GetAwaiter().GetResult(); Assert.That(result.CourseId, Is.EqualTo(1)); Assert.That(result.CustomerId, Is.EqualTo(2)); }