-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdiscussion.cshtml
More file actions
112 lines (102 loc) · 5.03 KB
/
Copy pathdiscussion.cshtml
File metadata and controls
112 lines (102 loc) · 5.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
@{ Layout = "~/_SiteLayout.cshtml";
Page.Title = "Discussion Page";
var db = Database.Open("SkillShareConnectionString");
var userIDs = Convert.ToString(Session["userID"]);
var showMessage = false; // Flag to control displaying the success message
if (IsPost)
{
var email = Request["email"];
var selectedCourseId = Request["courseSelect"]; // Get selected course ID
var topic = Request["topic"];
var question = Request["question"];
var createdAt = DateTime.Now;
// Fetch CourseID based on the selected course ID
var selectCourseId = "SELECT CourseID FROM COURSE WHERE CourseID = @0";
var courseId = db.QueryValue(selectCourseId, selectedCourseId);
if (courseId == null)
{
// Handle case where selected course ID does not exist
<div class="alert alert-danger mt-3" role="alert">
Selected course ID does not exist.
</div> }
else
{
// Insert new record into the DISCUSSIONFORUM table
var insertCommand = "INSERT INTO DISCUSSIONFORUM(UserID, CourseID, Topic, Message, DatePosted) VALUES (@0, @1, @2, @3, @4)";
db.Execute(insertCommand, userIDs, courseId, topic, question, createdAt);
showMessage = true;
}
}
// Fetch enrolled courses of the user
var selectCourses = "SELECT COURSE.CourseID, COURSE.Title FROM ENROLLMENT INNER JOIN COURSE ON ENROLLMENT.CourseID = COURSE.CourseID WHERE ENROLLMENT.UserID = @0";
var enrolledCourses = db.Query(selectCourses, userIDs);
var discussionForumQuery = @"SELECT u.Fullname as [Full Name], c.Title as [Course Title], d.Topic as [Discussion Topic], d.Message as [Question], d.DatePosted as [Post Date] FROM DISCUSSIONFORUM d
inner join [USER] u on u.UserID=d.UserID
inner join [COURSE] c on c.CourseID=d.CourseID";
var selectedData = db.Query(discussionForumQuery);
var grid = new WebGrid(source: selectedData, defaultSort: "Post Date", rowsPerPage: 5);
}
<body>
@if (showMessage)
{
<div class="alert alert-success mt-3" role="alert">
Your question was submitted successfully.
</div>
}
<div class="container-fluid bg-primary py-5 mb-5 page-header">
<div class="container py-5">
<div class="row justify-content-center">
<div class="col-lg-10 text-center">
<h1 class="display-3 text-white animated slideInDown">Discussion Forum</h1>
<nav aria-label="breadcrumb">
<ol class="breadcrumb justify-content-center">
<li class="breadcrumb-item"><a class="text-white" href="http://127.0.0.1:5500/index.html">Home</a></li>
</ol>
</nav>
</div>
</div>
</div>
</div>
<div class="container-xxl py-5">
<div class="container text-center">
<div class="row justify-content-center">
<div class="col-lg-8">
<h2 class="mb-4">Discussion Forum</h2>
<form id="discussionForm" method="post">
<div class="mb-3">
<label for="courseSelect" class="form-label">Select Course:</label>
<select class="form-select" id="courseSelect" name="courseSelect">
@foreach (var course in enrolledCourses)
{
<option value="@course.CourseID">@course.Title</option>
}
</select>
</div>
<div class="mb-3">
<input type="email" class="form-control" id="email" name="email" placeholder="Your Email" required>
</div>
<div class="mb-3">
<input type="text" class="form-control" id="topic" name="topic" placeholder="Sub-topic of Discussion" required>
</div>
<div class="mb-3">
<textarea class="form-control" id="question" name="question" placeholder="Your Question" required></textarea>
</div>
<input type="hidden" id="selectedCourseId" name="selectedCourseId">
<button type="submit" class="btn btn-primary" id="submitBtn">Submit</button>
</form>
</div>
</div>
</div>
</div>
<div class="container-xxl py-5">
<div class="container">
<h2>Discussion Questions Grid View</h2>
@grid.GetHtml(
tableStyle: "table table-bordered table-striped",
headerStyle: "thead-dark"
)
</div>
</div>
<a href="#" class="btn btn-lg btn-primary btn-lg-square back-to-top"><i class="bi bi-arrow-up"></i></a>
<script src="js/main.js"></script>
</body>