public static bool insertQuestionAnswer(TaskQuestionAnswerDTO pQuestionAnswer) { using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["connectionRRHHDatabase"].ConnectionString)) { SqlCommand command = new SqlCommand("usp_insert_questionAnswer", connection); command.CommandType = System.Data.CommandType.StoredProcedure; command.Parameters.Add("@response", SqlDbType.VarBinary); command.Parameters["@response"].Value = pQuestionAnswer.responseData; command.Parameters.Add("@taskQuestion_id", SqlDbType.BigInt); command.Parameters["@taskQuestion_id"].Value = pQuestionAnswer.taskQuestion_id; command.Parameters.Add("@user_id", SqlDbType.Int); command.Parameters["@user_id"].Value = pQuestionAnswer.user_id; command.Parameters.Add("@userLog", SqlDbType.Int); command.Parameters["@userLog"].Value = pQuestionAnswer.userLog; command.Connection.Open(); string result = command.ExecuteNonQuery().ToString(); if (result != "0") { return(true); } }; return(false); }
public IHttpActionResult postQuestionAnswer(TaskQuestionAnswerDTO pQuestion) { if (!TaskFormData.insertQuestionAnswer(pQuestion)) { return(BadRequest()); } return(Ok()); }
public async Task <bool> postQuestionAnswer(TaskQuestionAnswerDTO questionDTO) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(_BaseAddress); var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; var userJson = serializer.Serialize(questionDTO); HttpContent contentPost = new StringContent(userJson, Encoding.UTF8, "application/json"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", getToken()); HttpResponseMessage response = client.PostAsync("api/tasks/questionAnswers", contentPost).Result; return(response.IsSuccessStatusCode); } }
public ActionResult _AnswerTaskForm(List <string> answers, string id_task) { if (ModelState.IsValid) { var parameters = Request.Params; TaskProvider taskProvider = new TaskProvider(); TaskFormDTO taskForm = taskProvider.getTaskFormbyTask(id_task).Result; List <TaskQuestionDTO> taskQuestions = taskProvider.getFormQuestions(taskForm.id_taskForm).Result; bool isFormAnswered = true; int iQuestion = 0; foreach (var question in taskQuestions) { TaskQuestionAnswerDTO questionAnswer = new TaskQuestionAnswerDTO(); questionAnswer.taskQuestion_id = question.id_taskQuestion; questionAnswer.user_id = Request.Cookies["user_id"].Value; questionAnswer.userLog = Request.Cookies["user_id"].Value; if (questionAnswer.questionType_id != "5") //string answer { questionAnswer.responseData = Encoding.UTF8.GetBytes(answers[iQuestion]); } if (questionAnswer.questionType_id != "4") //string answer { questionAnswer.responseData = Encoding.UTF8.GetBytes(answers[iQuestion]); } if (!taskProvider.postQuestionAnswer(questionAnswer).Result) { isFormAnswered = false; } iQuestion++; } if (isFormAnswered) { return(new HttpStatusCodeResult(200)); } } return(new HttpStatusCodeResult(404, "Error, no se puede agregar la notificación")); }
public static List <TaskQuestionAnswerDTO> getQuestionsAnswers(string id_taskForm, string user_id) { List <TaskQuestionAnswerDTO> questionAnswers = new List <TaskQuestionAnswerDTO>(); using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["connectionRRHHDatabase"].ConnectionString)) { SqlCommand command = new SqlCommand("usp_get_questionAnswers", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@id_taskForm", SqlDbType.BigInt); command.Parameters["@id_taskForm"].Value = id_taskForm; command.Parameters.Add("@user_id", SqlDbType.Int); command.Parameters["@user_id"].Value = user_id; command.Connection.Open(); SqlDataReader rdr = command.ExecuteReader(); while (rdr.Read()) { TaskQuestionAnswerDTO taskQuestionAnswer = new TaskQuestionAnswerDTO(); taskQuestionAnswer.user_id = rdr["user_id"].ToString(); taskQuestionAnswer.taskQuestion_id = rdr["taskQuestion_id"].ToString(); taskQuestionAnswer.question = rdr["question"].ToString(); taskQuestionAnswer.questionPosition = rdr["questionPosition"].ToString(); taskQuestionAnswer.questionType_id = rdr["questionType_id"].ToString(); taskQuestionAnswer.questionType_name = rdr["questionType_name"].ToString(); byte[] response = (byte[])rdr["response"]; if (taskQuestionAnswer.questionType_id != "5") { taskQuestionAnswer.response = Encoding.UTF8.GetString(response); } else { taskQuestionAnswer.response = Convert.ToBase64String(response); } questionAnswers.Add(taskQuestionAnswer); } }; return(questionAnswers); }