private void frmAddOrEdit_Load(object sender, EventArgs e)
{
BindList();
BindDgvPersons();
txtSearchStudent.PlaceholderText = "لطفا جستجو کنید...";
if (classId != 0)
{
_isEditing = true;
Text = "ویرایش اطلاعات";
btnSave.Text = "ویرایش";
var courses = _Context.Courses.AsNoTracking().SingleOrDefault(c => c.CourseId == classId);
txtClassName.Text = courses.Title;
txtStudentCount.Text = courses.StudentCount.ToString();
txtHours.Value = courses.Hours;
txtDescription.Text = courses.Description;
cboTeacher.SelectedValue = courses.TeacherId;
dgvStudentInClass.AutoGenerateColumns = false;
var students = _Context.StudentInCourses.AsNoTracking()
.Where(s => s.CourseId == classId)
.Select(s => new
{
s.PersonId,
FullName = _Context.Persons.AsNoTracking()
.Where(p => p.PersonId == s.PersonId)
.Select(s => s.Name + " " + s.Family).Single()
})
.ToList();
foreach (var student in students)
{
dgvStudentInClass.Rows.Add(student.PersonId, student.FullName);
}
BindDgvPersons();
}
}
#region BindList
void BindList()
{
cboTeacher.DataSource = _Context.Persons
.Where(p => p.IsTeacher == true)
.Select(p => new
{
PersonId = p.PersonId,
FullName = p.Name + " " + p.Family
})
.ToList();
cboTeacher.DisplayMember = "FullName";
cboTeacher.ValueMember = "PersonId";
}
#endregion
void BindDgvPersons()
{
dgvPersons.AutoGenerateColumns = false;
dgvPersons.Rows.Clear();
var studentIdInClass = _Context.StudentInCourses
.Where(s => s.CourseId == classId)
.Select(s => s.PersonId).ToList();
var List = _Context.Persons
.Where(p => !studentIdInClass.Contains(p.PersonId)).ToList();
foreach (var person in List)
{
string FullName = person.Name + " " + person.Family;
dgvPersons.Rows.Add(person.PersonId, FullName, person.Mobile, person.Email);
}
}بسیار عالی