コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }