public string ResponderEncuesta(EncuestaRespuesta entidad)
 {
     try
     {
         return(encuestaService.ResponderEncuesta(entidad));
     }
     catch (Exception e)
     {
         throw;
     }
 }
Example #2
0
        public async Task <ActionResult> Create(EncuestaRespuesta respuesta)
        {
            var hasRespuesta = await this.service.HasRespuestaAsync(respuesta.EncuestaId, respuesta.EstudianteId);

            if (hasRespuesta)
            {
                return(BadRequest(new { message = "Ya respondiste la encuesta para esta materia" }));
            }

            respuesta.Fecha = DateTime.Now;

            await this.service.CreateAsync(respuesta);

            return(CreatedAtRoute("GetEncuestaRespuestaById", new { id = respuesta.Id }, respuesta));
        }
Example #3
0
        public async Task <ActionResult> CreateWithMateria(EncuestaRespuesta respuesta)
        {
            if (!respuesta.Detalles.ContainsKey("materia_codigo"))
            {
                return(BadRequest(new { message = "La respuesta no contiene una materia" }));
            }

            var hasRespuesta = await this.service.HasRespuestaMateriaAsync(
                respuesta.EncuestaId, respuesta.EstudianteId, respuesta.Detalles["materia_codigo"]);

            if (hasRespuesta)
            {
                return(BadRequest(new { message = "Ya respondiste la encuesta para esta materia" }));
            }

            respuesta.Fecha = DateTime.Now;

            await this.service.CreateAsync(respuesta);

            return(CreatedAtRoute("GetEncuestaRespuestaById", new { id = respuesta.Id }, respuesta));
        }
Example #4
0
        public string ResponderEncuesta(EncuestaRespuesta entidad)
        {
            using (SqlConnection conection = new SqlConnection(ConfigurationManager.ConnectionStrings["cnx"].ConnectionString))
            {
                conection.Open();
                SqlTransaction tran = conection.BeginTransaction();

                try
                {
                    List <TipoEncuestaPregunta> pregunta = entidad.Pregunta;

                    //1.Insertamos la Encuesta
                    string sqlencuesta = "INSERT INTO Encuesta(ENC_Titulo,ENC_Descripcion,ENC_TEN_Id, ENC_TUS_ID, ENC_EMP_ID, ENC_FechaCrecion, ENC_UsuarioCreacion)VALUES" +
                                         "('" + entidad.ENC_Titulo + "','" + entidad.ENC_Descripcion + "'," + entidad.ENC_TEN_Id + "," + entidad.ENC_TUS_ID + "," + entidad.ENC_EMP_ID + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + entidad.ENC_UsuarioCreacion + "')";
                    using (SqlCommand command = new SqlCommand(sqlencuesta, conection, tran))
                    {
                        command.ExecuteNonQuery();
                    }


                    //2. Consultamos el ultimo ID de la Encuesta
                    int    ENC_ID    = 0;
                    string sqllastid = "SELECT MAX(ENC_ID)AS ENC_ID FROM Encuesta";
                    using (SqlCommand command = new SqlCommand(sqllastid, conection, tran))
                    {
                        using (SqlDataReader dr = command.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                ENC_ID = dr.GetInt32(dr.GetOrdinal("ENC_ID"));
                            }
                        }
                    }

                    //Insertamos las respuestas a las preguntas
                    for (var i = 0; i < pregunta.Count; i++)
                    {
                        string sqlin = "INSERT INTO EncuestaRespuesta(ERE_ENC_ID,ERE_TEP_ID,ERE_Respuesta,ERE_FechaRespuesta)VALUES" +
                                       "('" + ENC_ID + "','" + pregunta[i].TEP_ID + "','" + pregunta[i].TEP_Respuesta + "','" + DateTime.Now + "')";
                        using (SqlCommand command = new SqlCommand(sqlin, conection, tran))
                        {
                            command.ExecuteNonQuery();
                        }
                    }

                    //Actuaizamos el ticket con el numero de la encuesta
                    string sqlup = "UPDATE Ticket SET TIC_ENC_ID=" + ENC_ID + "  WHERE TIC_ID=" + entidad.TIC_ID;
                    using (SqlCommand command = new SqlCommand(sqlup, conection, tran))
                    {
                        command.ExecuteNonQuery();
                    }

                    tran.Commit();
                    conection.Close();
                    return("ok");
                }
                catch (Exception ex)
                {
                    tran.Rollback();

                    throw (ex);
                }
            }
        }