Ejemplo n.º 1
0
        public IActionResult user()
        {
            string currentUser = ds.GetUserId(HttpContext.User.FindFirstValue(ClaimTypes.Email));

            ViewData.Add("currentUser", currentUser);
            QAC qac = ds.GetQACByUserId(currentUser);

            return(View("user", qac));
        }
Ejemplo n.º 2
0
        public QAC GetQACByUserId(string userId)
        {
            QAC qac = new QAC();

            using (var conn = new NpgsqlConnection(Program.ConnectionString))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT * FROM question " +
                                                   "WHERE user_id = @userId ORDER BY submission_time DESC", conn))
                {
                    cmd.Parameters.AddWithValue("userId", userId);
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        var           questionid      = reader["question_id"].ToString();
                        var           qUserId         = reader["user_id"].ToString();
                        var           qSubmissionTime = Convert.ToDateTime(reader["submission_time"]);
                        var           qViewNumber     = Convert.ToInt32(reader["view_number"]);
                        var           qVoteNumber     = Convert.ToInt32(reader["vote_number"]);
                        var           qTitle          = reader["title"].ToString();
                        var           questionMessage = reader["question_message"].ToString();
                        var           qImage          = reader["image"].ToString();
                        QuestionModel qModel          = new QuestionModel();
                        qModel.Qid             = questionid;
                        qModel.QUserId         = qUserId;
                        qModel.Qtitle          = qTitle.ToString();
                        qModel.Qtext           = questionMessage.ToString();
                        qModel.Qvote           = qVoteNumber;
                        qModel.Qview           = qViewNumber;
                        qModel.QsubmissionTime = qSubmissionTime;
                        qModel.Qimage          = qImage;
                        qac.qModelList.Add(qModel);
                    }
                    conn.Close();
                }
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT * FROM answer " +
                                                   "WHERE user_id = @userId ORDER BY submission_time DESC", conn))
                {
                    cmd.Parameters.AddWithValue("userId", userId);
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        var         answerid        = reader["answer_id"].ToString();
                        var         aUserId         = reader["user_id"].ToString();
                        var         aSubmissionTime = Convert.ToDateTime(reader["submission_time"]);
                        var         aVoteNumber     = Convert.ToInt32(reader["vote_number"]);
                        var         answerMessage   = reader["answer_message"].ToString();
                        var         aImage          = reader["image"].ToString();
                        var         aAccepted       = reader["accepted"].ToString();
                        AnswerModel aModel          = new AnswerModel();
                        aModel.Aid             = answerid;
                        aModel.AUserId         = aUserId;
                        aModel.Atext           = answerMessage.ToString();
                        aModel.Avote           = aVoteNumber;
                        aModel.AsubmissionTime = aSubmissionTime;
                        aModel.Aimage          = aImage;
                        aModel.Aaccepted       = aAccepted;
                        qac.aModelList.Add(aModel);
                    }
                    conn.Close();
                }
                conn.Open();
                using (var cmd = new NpgsqlCommand("SELECT * FROM komment " +
                                                   "WHERE user_id = @userId ORDER BY submission_time DESC", conn))
                {
                    cmd.Parameters.AddWithValue("userId", userId);
                    var reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        var          kommentId       = reader["komment_id"].ToString();
                        var          cUserId         = reader["user_id"].ToString();
                        var          qId             = reader["question_id"].ToString();
                        var          aId             = reader["answer_id"].ToString();
                        var          cSubmissionTime = Convert.ToDateTime(reader["submission_time"]);
                        var          commentMessage  = reader["komment_message"].ToString();
                        var          cEditNr         = Convert.ToInt32(reader["edited_number"]);
                        CommentModel cModel          = new CommentModel();
                        cModel.Cid             = kommentId;
                        cModel.CUserid         = cUserId;
                        cModel.Qid             = qId;
                        cModel.Aid             = aId;
                        cModel.Ctext           = commentMessage;
                        cModel.CsubmissionTime = cSubmissionTime;
                        cModel.CeditNr         = cEditNr;
                        qac.cModelList.Add(cModel);
                    }
                    return(qac);
                }
            }
        }