Это программа для учителей для отображения классов и создания отчетов для учеников (возможно, стоит упомянуть)
Я пытаюсь сделать следующее: как только учитель добавляет класс, он отправляется в базу данных, затем на странице их учетной записи классы должны отображаться на основе их StaffID
В настоящее время: все классы, созданные всеми учителями, отображаются на экране каждого учителя
Вопрос: как отображать классы на основе учителя, который в настоящее время авторизован в веб-приложении
текущие файлы кода
Модель для класса
public class ClassModel
{
public String ClassID { get; set; }
public String StudentID { get; set; }
public String StaffID { get; set; }
public String ClassName { get; set; }
public String TeacherName { get; set; }
public String ClassDesc { get; set; }
public String QuarterName { get; set; }
public String Outcome1 { get; set; }
public String Outcome2 { get; set; }
public String Outcome3 { get; set; }
public String Outcome4 { get; set; }
public String Outcome5 { get; set; }
public String Outcome6 { get; set; }
public String Outcome7 { get; set; }
public String Outcome8 { get; set; }
public String Outcome9 { get; set; }
}
}
Контроллер учетной записи учителя
public IActionResult TeacherAccount()
{
DBLogins dp = new DBLogins(_configuration);
LinkedList<ClassModel> allClasses = dp.GetAllClasses();
return View(allClasses);
}
код, который я использую для отображения классов
public LinkedList<ClassModel> GetAllClasses()
{
//Step #1 - Connect to the DB
string connStr = _configuration.GetConnectionString("MyConnString");
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
//Step #2 - create a command
string query = "SELECT StaffID,ClassName,QuarterName,ClassDesc FROM [dbo].[Class]";
SqlCommand cmd = new SqlCommand(query, conn);
LinkedList<ClassModel> allClasses = new LinkedList<ClassModel>();
//Step #3 - query the DB
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
ClassModel classModel = new ClassModel
{
StaffID = reader["StaffID"].ToString(),
ClassName = reader["ClassName"].ToString(),
QuarterName = reader["QuarterName"].ToString(),
ClassDesc = reader["ClassDesc"].ToString()
};
allClasses.AddLast(classModel);
}
//Step #4 - close the connection
conn.Close();
return allClasses;
}
Foreach L OOP
@foreach (OLS_Web_App.Models.ClassModel classes in Model)
{
<div >
<div>@classes.ClassName</div>
<div>
<p >@classes.QuarterName</p>
<a href="@Url.Action("Class", "Home", new { ClassID = classes.ClassID })" >Go to Class</a>
<br>
<button asp-action="DeleteClass">Delete Class</button>
</div>
</div>
}