Example #1
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            string name  = nameBox.Text;
            int    group = 0;

            if (!Validator.Name(nameBox.Text) || !Validator.Group(groupBox.Text) || !int.TryParse(groupBox.Text, out group))
            {
                MessageBox.Show("Неверный формат данных", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                try
                {
                    if (CoursesRequests.AddStudent(nameBox.Text, group, (int)schoolBox.SelectedValue) == null)
                    {
                        MessageBox.Show("Такой ученик уже есть", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Close();
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Шото сломалось", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Example #2
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            int     duration = 0;
            decimal cost     = 0;

            if (!Validator.Cost(costBox.Text) || !Validator.Duration(durationBox.Text) ||
                !int.TryParse(durationBox.Text, out duration) || !decimal.TryParse(costBox.Text, out cost))
            {
                MessageBox.Show("Неверный формат данных", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                try
                {
                    if (CoursesRequests.AddCourse((int)subjectBox.SelectedValue, duration, cost) == null)
                    {
                        MessageBox.Show("Такой курс уже есть", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Close();
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Шото сломалось", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Example #3
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            int?sert = null;
            int ser  = 0;

            if (!Validator.SertificateNumber(sertBox.Text))
            {
                MessageBox.Show("Неверный формат данных", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                if (int.TryParse(sertBox.Text, out ser))
                {
                    sert = ser;
                }
                try
                {
                    if (CoursesRequests.EditBindStudentToCourse(EditId, paidBox.Checked, sert) == null)
                    {
                        MessageBox.Show("Ошибка изменения", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        Close();
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("Шото сломалось", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Example #4
0
 private void InfoCourseForm_EnabledChanged(object sender, EventArgs e)
 {
     if (Enabled)
     {
         course = CoursesRequests.GetCourse(course.Id);
         RefreshTab(tabControl.SelectedTab.Name);
     }
 }
Example #5
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     if (CoursesRequests.EditSubject(EditId, nameBox.Text) == null)
     {
         MessageBox.Show("Предмет не изменен", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     else
     {
         Close();
     }
 }
Example #6
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     if (CoursesRequests.EditTopic(EditId, nameBox.Text, CourseId) == null)
     {
         MessageBox.Show("Тема не добавлена", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     else
     {
         Close();
     }
 }
        public async Task WhenIAddCourse_ThenICanRetrieveIt()
        {
            var newCourse = new Course {
                Name = "Course 1"
            };

            int newId = await CoursesRequests.AddCourse(newCourse);

            var course = await CoursesRequests.GetCourse(newId);

            Assert.Equal(newCourse.Name, course.Name);
        }
Example #8
0
        private void CallDelForm_Click(object sender, EventArgs e)
        {
            string       name = ((Button)sender).Name;
            DialogResult res;

            Enabled = false;
            switch (name)
            {
            case "CallDTopicForm":
            {
                res = MessageBox.Show(
                    "Are you sure?",
                    "Delete topic",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning);
                if (res == DialogResult.Yes)
                {
                    CoursesRequests.DelTopic((int)(TopicsGridView.SelectedRows[0].Cells[0].Value));
                }
                break;
            }

            case "CallDBTeacherForm":
            {
                res = MessageBox.Show(
                    "Are you sure?",
                    "Delete bind teacher",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning);
                if (res == DialogResult.Yes)
                {
                    CoursesRequests.DelBindTeacherToCourse((int)(TeachersGridView.SelectedRows[0].Cells[0].Value));
                }
                break;
            }

            case "CallDBStudentForm":
            {
                res = MessageBox.Show(
                    "Are you sure?",
                    "Delete student",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning);
                if (res == DialogResult.Yes)
                {
                    CoursesRequests.DelBindStudentToCourse((int)(StudentsGridView.SelectedRows[0].Cells[0].Value));
                }
                break;
            }
            }
            Enabled = true;
        }
Example #9
0
        private void EditSubjectForm_Load(object sender, EventArgs e)
        {
            Subject t = CoursesRequests.GetSubject(EditId);

            if (t == null)
            {
                Close();
            }
            else
            {
                nameBox.Text = t.Name;
            }
        }
        public async Task WhenIEnrollNonExistingUserToACourse_ThenIGetAProperErrorMessage()
        {
            var nonExistingUserId = 100000;
            var newCourse         = new Course {
                Name = "Course 1"
            };
            int newId = await CoursesRequests.AddCourse(newCourse);

            var enrollmentResponse = await CoursesRequests.EnrollUserToACourse(nonExistingUserId, newId);

            Assert.False(enrollmentResponse.Item1);
            Assert.Equal($"User with Id: {nonExistingUserId} does not exist!", enrollmentResponse.Item2);
        }
Example #11
0
 private void RefreshTab()
 {
     CoursesGridView.Columns[7].DefaultCellStyle.Format = "C";
     CoursesGridView.DataSource = CoursesRequests.GetCourseStudentViews(StudentId);
     if (CoursesGridView.RowCount == 0)
     {
         CallDBStudentForm.Enabled = false;
     }
     else
     {
         CallDBStudentForm.Enabled = true;
     }
 }
        public async Task WhenIEnrollAUserToACourseThatDoesntExist_ThenIGetAProperErrorMessage()
        {
            var nonExistingCourseId = 100000;
            var newUser1            = new User {
                Email = "*****@*****.**"
            };
            int newId1 = await UsersRequests.AddUser(newUser1);

            var enrollmentResponse = await CoursesRequests.EnrollUserToACourse(newId1, nonExistingCourseId);

            Assert.False(enrollmentResponse.Item1);
            Assert.Equal($"Course with Id: {nonExistingCourseId} does not exist!", enrollmentResponse.Item2);
        }
Example #13
0
        private void EditBindStudent_Load(object sender, EventArgs e)
        {
            CourseStudent t = CoursesRequests.GetCourseStudent(EditId);

            if (t == null)
            {
                Close();
            }
            else
            {
                paidBox.Checked = t.IsPaid;
                sertBox.Text    = t.SertificateNumber.ToString();
            }
        }
Example #14
0
        private void RefreshTab(string name)
        {
            switch (name)
            {
            case "TeachersPage":
            {
                TeachersGridView.DataSource = CoursesRequests.GetCourseTeachersViews(course.CoursesTeachers.ToList());
                if (TeachersGridView.RowCount == 0)
                {
                    CallDBTeacherForm.Enabled = false;
                }
                else
                {
                    CallDBTeacherForm.Enabled = true;
                }
                break;
            }

            case "TopicsPage":
            {
                TopicsGridView.DataSource = CoursesRequests.GetTopics(course.Id);
                if (TopicsGridView.RowCount == 0)
                {
                    CallDTopicForm.Enabled = CallETopicForm.Enabled = false;
                }
                else
                {
                    CallDTopicForm.Enabled = CallETopicForm.Enabled = true;
                }
                break;
            }

            case "StudentsPage":
            {
                StudentsGridView.DataSource = CoursesRequests.GetCourseStudentViews(course.CoursesStudents.ToList());
                if (StudentsGridView.RowCount == 0)
                {
                    CallDBStudentForm.Enabled = CallEBStudentForm.Enabled = false;
                }
                else
                {
                    CallDBStudentForm.Enabled = CallEBStudentForm.Enabled = true;
                }
                break;
            }

            default: break;
            }
        }
Example #15
0
        private void Info_Load(object sender, EventArgs e)
        {
            Student student = CoursesRequests.GetStudent(StudentId);

            if (student == null)
            {
                Close();
            }
            else
            {
                nameLabel.Text = student.Name;
                RefreshTab();
            }
            DisableButtons();
        }
Example #16
0
        private void InfoTeacher_Load(object sender, EventArgs e)
        {
            Teacher teacher = CoursesRequests.GetTeacher(TeacherId);

            if (teacher == null)
            {
                Close();
            }
            else
            {
                nameLabel.Text = CoursesRequests.GetTeacher(TeacherId).Name;
                RefreshTab();
            }
            DisableButtons();
        }
        public async Task WhenIDeleteACourse_ThenICantRetrieveItAnymore()
        {
            var newCourse = new Course {
                Name = "Course 1"
            };

            int newId = await CoursesRequests.AddCourse(newCourse);

            var course = await CoursesRequests.GetCourse(newId);

            Assert.NotNull(course);

            Assert.True(await CoursesRequests.DeleteCourse(newId));

            Assert.Null(await CoursesRequests.GetCourse(newId));
        }
Example #18
0
        private void CallDBStudentForm_Click(object sender, EventArgs e)
        {
            DialogResult res;

            Enabled = false;
            res     = MessageBox.Show(
                "Are you sure?",
                "Delete bind course",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Warning);
            if (res == DialogResult.Yes)
            {
                CoursesRequests.DelBindStudentToCourse((int)(CoursesGridView.SelectedRows[0].Cells[0].Value));
            }
            Enabled = true;
        }
        public async Task WhenIEnrollUsersToCourses_ThenICanRetrieveTheListOfCoursesWithEnrollments()
        {
            var newUser1 = new User {
                Email = "*****@*****.**"
            };
            var newUser2 = new User {
                Email = "*****@*****.**"
            };
            var newUser3 = new User {
                Email = "*****@*****.**"
            };
            var course1 = new Course {
                Name = "Course 1"
            };
            var course2 = new Course {
                Name = "Course 2"
            };
            var course3 = new Course {
                Name = "Course 3"
            };

            int newId1 = await UsersRequests.AddUser(newUser1);

            int newId2 = await UsersRequests.AddUser(newUser2);

            int newId3 = await UsersRequests.AddUser(newUser3);

            int course1Id = await CoursesRequests.AddCourse(course1);

            int course2Id = await CoursesRequests.AddCourse(course2);

            int course3Id = await CoursesRequests.AddCourse(course3);

            Assert.True((await CoursesRequests.EnrollUserToACourse(newId1, course1Id)).Item1);
            Assert.True((await CoursesRequests.EnrollUserToACourse(newId1, course2Id)).Item1);
            Assert.True((await CoursesRequests.EnrollUserToACourse(newId2, course2Id)).Item1);
            Assert.True((await CoursesRequests.EnrollUserToACourse(newId2, course3Id)).Item1);
            Assert.True((await CoursesRequests.EnrollUserToACourse(newId3, course1Id)).Item1);
            Assert.True((await CoursesRequests.EnrollUserToACourse(newId3, course2Id)).Item1);

            var coursesWithEnrollments = await CoursesRequests.GetCoursesWithEnrollments();

            Assert.Equal(2, coursesWithEnrollments.Single(x => x.Id.Equals(course1Id)).NumberOfEnrollments);
            Assert.Equal(3, coursesWithEnrollments.Single(x => x.Id.Equals(course2Id)).NumberOfEnrollments);
            Assert.Equal(1, coursesWithEnrollments.Single(x => x.Id.Equals(course3Id)).NumberOfEnrollments);
        }
        public async Task WhenIWithdrawAUserFromACourseHeWasntEnrolledTo_ThenIGetAProperErrorMessage()
        {
            var newUser = new User {
                Email = "*****@*****.**"
            };
            var course1 = new Course {
                Name = "Course 1"
            };

            int user1Id = await UsersRequests.AddUser(newUser);

            int course1Id = await CoursesRequests.AddCourse(course1);

            var enrollmentResponse1 = await CoursesRequests.WithdrawUserFromACourse(user1Id, course1Id);

            Assert.False(enrollmentResponse1.Item1);
            Assert.Equal("User was not enrolled to that course!", enrollmentResponse1.Item2);
        }
Example #21
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     try
     {
         if (CoursesRequests.BindStudentToCourse((int)studentBox.SelectedValue, CourseId) == null)
         {
             MessageBox.Show("Студент уже записан на курс", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             Close();
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Не выбран элемент!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #22
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     try
     {
         if (CoursesRequests.BindTeacherToCourse((int)teacherBox.SelectedValue, CourseId) == null)
         {
             MessageBox.Show("Учитель уже ведет курс", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             Close();
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Не выбран элемент!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #23
0
        private void AddCourseForm_Load(object sender, EventArgs e)
        {
            Course t = CoursesRequests.GetCourse(EditId);

            if (t == null)
            {
                Close();
            }
            else
            {
                durationBox.Text         = t.Duration.ToString();
                costBox.Text             = string.Format("{0:0.00}", t.Cost);
                subjectBox.DisplayMember = "Name";
                subjectBox.ValueMember   = "Id";
                subjectBox.DataSource    = CoursesRequests.GetSubjects();
                subjectBox.SelectedValue = t.SubjectId;
            }
        }
Example #24
0
 private void buttonOK_Click(object sender, EventArgs e)
 {
     if (Validator.Name(nameBox.Text))
     {
         if (CoursesRequests.AddSchool(nameBox.Text) == null)
         {
             MessageBox.Show("Школа не добавлена", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             Close();
         }
     }
     else
     {
         MessageBox.Show("Неверный формат данных", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #25
0
        private void AddStudentForm_Load(object sender, EventArgs e)
        {
            Student t = CoursesRequests.GetStudent(EditId);

            if (t == null)
            {
                Close();
            }
            else
            {
                nameBox.Text            = t.Name;
                groupBox.Text           = t.GroupN.ToString();
                schoolBox.DisplayMember = "Name";
                schoolBox.ValueMember   = "Id";
                schoolBox.DataSource    = CoursesRequests.GetSchools();
                if (t.SchoolId != null)
                {
                    schoolBox.SelectedValue = t.SchoolId;
                }
            }
        }
Example #26
0
        public async Task WhenIEnrollUserToThreeCourses_ThenICanRetrieveTheListOfThem()
        {
            var newUser = new User {
                Email = "*****@*****.**"
            };
            var course1 = new Course {
                Name = "Course 1"
            };
            var course2 = new Course {
                Name = "Course 2"
            };
            var course3 = new Course {
                Name = "Course 3"
            };

            int newId = await UsersRequests.AddUser(newUser);

            int course1Id = await CoursesRequests.AddCourse(course1);

            int course2Id = await CoursesRequests.AddCourse(course2);

            int course3Id = await CoursesRequests.AddCourse(course3);

            var enrollmentResult1 = await CoursesRequests.EnrollUserToACourse(newId, course1Id);

            var enrollmentResult2 = await CoursesRequests.EnrollUserToACourse(newId, course2Id);

            var enrollmentResult3 = await CoursesRequests.EnrollUserToACourse(newId, course3Id);

            Assert.True(enrollmentResult1.Item1);
            Assert.True(enrollmentResult2.Item1);
            Assert.True(enrollmentResult3.Item1);

            var coursesForUser = await UsersRequests.GetUserCourses(newId);

            Assert.Collection(coursesForUser,
                              item => Assert.Contains(course1.Name, item.Name),
                              item => Assert.Contains(course2.Name, item.Name),
                              item => Assert.Contains(course3.Name, item.Name));
        }
        public async Task WhenIWithdrawAUserFromACourse_ThenIGetASuccessMessage()
        {
            var newUser = new User {
                Email = "*****@*****.**"
            };
            var course1 = new Course {
                Name = "Course 1"
            };

            int user1Id = await UsersRequests.AddUser(newUser);

            int course1Id = await CoursesRequests.AddCourse(course1);

            var enrollmentResponse1 = await CoursesRequests.EnrollUserToACourse(user1Id, course1Id);

            Assert.True(enrollmentResponse1.Item1);
            Assert.Equal($"User: {user1Id} successfully enrolled to course: {course1Id}!", enrollmentResponse1.Item2);

            var enrollmentResponse2 = await CoursesRequests.WithdrawUserFromACourse(user1Id, course1Id);

            Assert.True(enrollmentResponse2.Item1);
            Assert.Equal($"User: {user1Id} successfully withdrawed from course: {course1Id}!", enrollmentResponse2.Item2);
        }
        public async Task WhenIEnrollAUserToACourseHeIsAlreadyEnrolledTo_ThenIGetAProperErrorMessage()
        {
            var newUser = new User {
                Email = "*****@*****.**"
            };
            var course1 = new Course {
                Name = "Course 1"
            };

            int user1Id = await UsersRequests.AddUser(newUser);

            int course1Id = await CoursesRequests.AddCourse(course1);

            var enrollmentResponse1 = await CoursesRequests.EnrollUserToACourse(user1Id, course1Id);

            Assert.True(enrollmentResponse1.Item1);
            Assert.Equal($"User: {user1Id} successfully enrolled to course: {course1Id}!", enrollmentResponse1.Item2);

            var enrollmentResponse2 = await CoursesRequests.EnrollUserToACourse(user1Id, course1Id);

            Assert.False(enrollmentResponse2.Item1);
            Assert.Equal("User already enrolled to that course!", enrollmentResponse2.Item2);
        }
Example #29
0
 public InfoSubject(Form pparentForm, int subjectId)
 {
     InitializeComponent();
     parentForm = pparentForm;
     subject    = CoursesRequests.GetSubject(subjectId);
 }
Example #30
0
        private void RefreshTab(string name)
        {
            switch (name)
            {
            case "TeachersPage":
            {
                TeachersGridView.DataSource = CoursesRequests.GetTeachers().Where(p => p.Name.Contains(findTeacherBox.Text)).ToList();
                if (TeachersGridView.RowCount == 0)
                {
                    CallDTeacherForm.Enabled = CallETeacherForm.Enabled = false;
                }
                else
                {
                    CallDTeacherForm.Enabled = CallETeacherForm.Enabled = true;
                } break;
            }

            case "SchoolsPage":
            {
                SchoolsGridView.DataSource = CoursesRequests.GetSchools().Where(p => p.Name.Contains(findSchoolBox.Text)).ToList();
                if (SchoolsGridView.RowCount == 0)
                {
                    CallDSchoolForm.Enabled = CallESchoolForm.Enabled = false;
                }
                else
                {
                    CallDSchoolForm.Enabled = CallESchoolForm.Enabled = true;
                } break;
            }

            case "SubjectsPage":
            {
                SubjectsGridView.DataSource = CoursesRequests.GetSubjects().Where(p => p.Name.Contains(findSubjectBox.Text)).ToList();
                if (SubjectsGridView.RowCount == 0)
                {
                    CallDSubjectForm.Enabled = CallESubjectForm.Enabled = false;
                }
                else
                {
                    CallDSubjectForm.Enabled = CallESubjectForm.Enabled = true;
                } break;
            }

            case "StudentsPage":
            {
                StudentsGridView.DataSource = CoursesRequests.GetStudentViews().Where(p => p.Name.Contains(findStudentBox.Text)).ToList();
                if (StudentsGridView.RowCount == 0)
                {
                    CallDStudentForm.Enabled = CallEStudentForm.Enabled = false;
                }
                else
                {
                    CallDStudentForm.Enabled = CallEStudentForm.Enabled = true;
                } break;
            }

            case "CoursesPage":
            {
                CoursesGridView.Columns[3].DefaultCellStyle.Format = "C";
                CoursesGridView.DataSource = CoursesRequests.GetCourseViews();
                if (CoursesGridView.RowCount == 0)
                {
                    CallDCourseForm.Enabled = CallECourseForm.Enabled = false;
                }
                else
                {
                    CallDCourseForm.Enabled = CallECourseForm.Enabled = true;
                } break;
            }

            default: break;
            }
        }