Exemple #1
0
        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);
        }