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