コード例 #1
0
ファイル: ClassController.cs プロジェクト: DiniMad/ViClass
        public async Task <ActionResult <ClassResource> > AddClass(ClassResource classResource)
        {
            var userId = HttpContext.User.Claims.First(c => c.Type == "sub").Value;

            // Validation classResource
            var error = classResource.IsValid();

            if (!string.IsNullOrWhiteSpace(error))
            {
                return(BadRequest(error));
            }

            // Convert to model class
            var classModel = _mapper.Map <ClassResource, Class>(classResource);

            classModel.InstructorId = userId;

            // Store in database
            await _context.Classes.AddAsync(classModel);

            await _context.SaveChangesAsync();

            // Build URL to created class
            var request = HttpContext.Request;
            var url     = $"{request.Scheme}://{Request.Host}{Request.Path}{classModel.Id}";

            return(Created(url, classModel.Id));
        }