Exemplo n.º 1
0
        public async Task <IActionResult> PutModule(int id, CreateEditModuleRequest request)
        {
            var findedModule = await this.dbContext.Modules
                               .Include(i => i.Tags)
                               .Include(i => i.Course)
                               .SingleOrDefaultAsync(i => i.Id == id);

            if (findedModule == null)
            {
                return(NotFound("module not found"));
            }

            if (!await dbContext.Courses.AnyAsync(c => c.Id == request.CourseId))
            {
                return(NotFound("course not found"));
            }

            dbContext.Tags.RemoveRange(findedModule.Tags);
            mapper.Map(request, findedModule);
            findedModule.LastEditTime = DateTime.UtcNow;

            await dbContext.SaveChangesAsync();

            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <ActionResult <ModuleCompactResponse> > PostModule(
            [FromBody] CreateEditModuleRequest request,
            [FromHeader(Name = "UserName")] string username = "******")
        {
            if (!await dbContext.Courses.AnyAsync(c => c.Id == request.CourseId))
            {
                return(NotFound("course not found"));
            }

            var module = new Module
            {
                LastEditTime = DateTime.UtcNow,
                Creator      = username
            };

            mapper.Map(request, module);
            dbContext.Modules.Add(module);
            await dbContext.SaveChangesAsync();

            return(CreatedAtAction("GetModule", new { id = module.Id }, mapper.Map <ModuleCompactResponse>(module)));
        }