public async Task <ApiResponse <List <GetEncuestaCursoDTO> > > addEncuestaCurso(AddEncuestaCursoDTO encuestaCurso) { ApiResponse <List <GetEncuestaCursoDTO> > response = new ApiResponse <List <GetEncuestaCursoDTO> >(); try { SeccionCurso sc = await _context.SeccionesCursos.Where(sc => sc.Titulo == "Encuestas" && sc.CursoId == encuestaCurso.IdCurso).FirstOrDefaultAsync(); Encuesta e = _context.Encuestas.Find(encuestaCurso.IdEncuesta); if (sc == null) { sc = new SeccionCurso(); sc.CursoId = encuestaCurso.IdCurso; sc.Indice = 0; sc.Titulo = "Encuestas"; _context.SeccionesCursos.Add(sc); await _context.SaveChangesAsync(); } Componente comp = new Componente(); comp.Indice = 0; comp.Nombre = e.Titulo; comp.SeccionCursoId = sc.Id; comp.Tipo = "encuesta"; _context.Componentes.Add(comp); await _context.SaveChangesAsync(); int idComponenete = comp.Id; EncuestaCurso enc = new EncuestaCurso(); enc.ComponenteId = idComponenete; //enc.Fecha = encuestaCurso.Fecha; enc.IdCurso = encuestaCurso.IdCurso; enc.IdEncuesta = encuestaCurso.IdEncuesta; _context.EncuestaCursos.Add(enc); await _context.SaveChangesAsync(); response.Data = _context.EncuestaCursos.Select(f => _mapper.Map <GetEncuestaCursoDTO>(f)).ToList(); } catch (Exception e) { response.Success = false; response.Status = 500; response.Message = e.Message; } return(response); }