Example #1
0
        private void FillStudent()
        {
            DataTable  StudentTable = new DataTable();
            DataColumn idStudent    = new DataColumn("id", Type.GetType("System.Int32"));
            DataColumn FIOstudent   = new DataColumn("Фамилия Имя", Type.GetType("System.String"));
            DataColumn idAchiv      = new DataColumn("idAchiv", Type.GetType("System.Int32"));

            StudentTable.Columns.Add(idStudent);
            StudentTable.Columns.Add(FIOstudent);
            StudentTable.Columns.Add(idAchiv);
            DataColumn achivment = new DataColumn("Достижение", Type.GetType("System.String"));

            achivment.MaxLength = 200;
            List <Student> stud = DBobjects.Entities.Student.Where(p => p.idGroup == JournalForm.Journal.idGroup).ToList();

            if (comboBoxTypeEvent.Text == "Научно-исследовательская работа")
            {
                DataColumn fioSupervis = new DataColumn("ФИО руководителя", Type.GetType("System.String"));
                fioSupervis.MaxLength = 100;
                DataColumn subject = new DataColumn("Тема", Type.GetType("System.String"));
                subject.MaxLength = 100;

                StudentTable.Columns.Add(fioSupervis);
                StudentTable.Columns.Add(subject);
                StudentTable.Columns.Add(achivment);
                foreach (Student st in stud)
                {
                    if (DBobjects.Entities.AchivementStudent.Where(p => p.idStudent == st.idStudent && p.idEvent == eventObj.idEvent).Count() > 0)
                    {
                        AchivementStudent achivementStudent = DBobjects.Entities.AchivementStudent.FirstOrDefault(p => p.idStudent == st.idStudent && p.idEvent == eventObj.idEvent);
                        StudentTable.Rows.Add(st.idStudent, st, achivementStudent.idAchivStud, achivementStudent.fullNameSupervis, achivementStudent.topicWork, achivementStudent.topicAchivment);
                    }
                    else
                    {
                        StudentTable.Rows.Add(st.idStudent, st, 0, "", "", "");
                    }
                }
            }
            else
            {
                StudentTable.Columns.Add(achivment);
                foreach (Student st in stud)
                {
                    if (DBobjects.Entities.AchivementStudent.Where(p => p.idStudent == st.idStudent && p.idEvent == eventObj.idEvent).Count() > 0)
                    {
                        AchivementStudent achivementStudent = DBobjects.Entities.AchivementStudent.FirstOrDefault(p => p.idStudent == st.idStudent && p.idEvent == eventObj.idEvent);
                        StudentTable.Rows.Add(st.idStudent, st, achivementStudent.idAchivStud, achivementStudent.topicAchivment);
                    }
                    else
                    {
                        StudentTable.Rows.Add(st.idStudent, st, 0, "");
                    }
                }
            }

            dgvStudent.DataSource          = StudentTable;
            dgvStudent.Columns[0].Visible  = false;
            dgvStudent.Columns[1].ReadOnly = true;
            dgvStudent.Columns[2].Visible  = false;
        }
Example #2
0
        private void saveStudent()
        {
            foreach (DataGridViewRow dgvr in dgvStudent.Rows)
            {
                if (Convert.ToInt32(dgvr.Cells[2].Value) == 0)
                {
                    achivementStudent = new AchivementStudent();
                }
                else
                {
                    int id = Convert.ToInt32(dgvr.Cells[2].Value);
                    achivementStudent = DBobjects.Entities.AchivementStudent.FirstOrDefault(p => p.idAchivStud == id);
                }

                if (comboBoxTypeEvent.Text != "Научно-исследовательская работа")
                {
                    if (String.IsNullOrWhiteSpace(dgvr.Cells[3].Value.ToString()) == false)
                    {
                        achivementStudent.idEvent        = eventObj.idEvent;
                        achivementStudent.idStudent      = Convert.ToInt32(dgvr.Cells[0].Value);
                        achivementStudent.topicAchivment = dgvr.Cells[3].Value.ToString();
                        if (DBobjects.Entities.AchivementStudent.Where(p => p.idAchivStud == achivementStudent.idAchivStud).Count() == 0)
                        {
                            DBobjects.Entities.AchivementStudent.Add(achivementStudent);
                        }
                        DBobjects.Entities.SaveChanges();
                    }
                    else if (achivementStudent.idAchivStud != 0 && Convert.ToString(dgvr.Cells[3].Value) == "")
                    {
                        DeleteAchivment();
                    }
                }
                else
                {
                    if ((dgvr.Cells[3].Value).ToString() != "" || (dgvr.Cells[4].Value).ToString() != "" || (dgvr.Cells[5].Value).ToString() != "")
                    {
                        achivementStudent.idEvent          = eventObj.idEvent;
                        achivementStudent.idStudent        = Convert.ToInt32(dgvr.Cells[0].Value);
                        achivementStudent.fullNameSupervis = dgvr.Cells[3].Value.ToString();
                        achivementStudent.topicWork        = dgvr.Cells[4].Value.ToString();
                        achivementStudent.topicAchivment   = dgvr.Cells[5].Value.ToString();
                        if (DBobjects.Entities.AchivementStudent.Where(p => p.idAchivStud == achivementStudent.idAchivStud).Count() == 0)
                        {
                            DBobjects.Entities.AchivementStudent.Add(achivementStudent);
                        }
                        DBobjects.Entities.SaveChanges();
                    }
                    else if (achivementStudent.idAchivStud != 0 && Convert.ToString(dgvr.Cells[3].Value) == "" && Convert.ToString(dgvr.Cells[4].Value) == "")
                    {
                        DeleteAchivment();
                    }
                }
            }
        }