public async Task <ActionResult <Grade> > GetGradeWithID(int gradeID)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                gradeID
            }))
            {
                return(BadRequest("Error: grade ID must be specified (with non-zero value)"));
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var grade = await GradesRepository.GetDefiniteGrade(connection, gradeID);

                    if (grade == null)
                    {
                        return(NotFound("There isn't grade with such ID in database"));
                    }

                    return(grade);
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
        public async Task <IActionResult> DeleteGradeWithID(int gradeID)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                gradeID
            }))
            {
                return(BadRequest("Error: grade ID must be specified (with non-zero value)"));
            }

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var numberOfAffectedRows = await GradesRepository.DeleteGradeAsync(connection, gradeID);

                    if (numberOfAffectedRows == 0)
                    {
                        return(NotFound("Grade with such id isn't found in database"));
                    }
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(NoContent());
        }
示例#3
0
        public int GetIdOfGrade(Grades entityToGetId)
        {
            IGradesRepository repo = new GradesRepository(getEntities());

            Entities.Grades entityToGetId2 = Mapper.Map <Grades, Entities.Grades>(entityToGetId);
            return(repo.GetGradeId(entityToGetId2));
        }
        public async Task <IActionResult> Post([FromBody] Dictionary <string, string> grade)
        {
            if (Validation.IsAnyInputObjectDataNotSpecified(new List <object> {
                grade.ContainsKey("GradeDate") ? grade["GradeDate"] : null,
                grade.ContainsKey("IsComplete") ? grade["IsComplete"] : null, grade.ContainsKey("HomeTaskID") ? grade["HomeTaskID"] : null,
                grade.ContainsKey("StudentID") ? grade["StudentID"] : null
            }))
            {
                return(BadRequest("Error: all grade input data must be specified"));
            }

            grade["GradeDate"]  = grade["GradeDate"].Trim();
            grade["IsComplete"] = grade["IsComplete"].Trim();
            grade["HomeTaskID"] = grade["HomeTaskID"].Trim();
            grade["StudentID"]  = grade["StudentID"].Trim();

            if (!Validation.ValidateDateTimeAndGetParsed(grade["GradeDate"], out DateTime resultGradeDate))
            {
                return(BadRequest("Error: grade date is incorrect"));
            }

            if (!Validation.ValidateBoolAndGetParsed(grade["IsComplete"], out bool resultIsComplete))
            {
                return(BadRequest("Error: is complete is incorrect"));
            }

            if (!Validation.ValidateIntAndGetParsed(grade["HomeTaskID"], out int resultHomeTaskID))
            {
                return(BadRequest("Error: hometask ID is incorrect"));
            }

            if (!Validation.ValidateIntAndGetParsed(grade["StudentID"], out int resultStudentID))
            {
                return(BadRequest("Error: student ID is incorrect"));
            }

            var resultGrade = new Grade
            {
                GradeDate  = resultGradeDate,
                IsComplete = resultIsComplete,
                HomeTaskID = resultHomeTaskID,
                StudentID  = resultStudentID
            };

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    await GradesRepository.CreateGradeAsync(connection, resultGrade);
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(Ok(resultGrade));
        }
示例#5
0
        public void RemoveGrade(Grades entityToRemove)
        {
            IGradesRepository repo = new GradesRepository(getEntities());

            Entities.Grades entityToRemove2 = Mapper.Map <Grades, Entities.Grades>(entityToRemove);
            repo.Remove(entityToRemove2);
        }
示例#6
0
        public ActionResult ShowSecondSemesterGrades(int class_id, int?subject_id)
        {
            var grades = GradesRepository.GetGrades(this.CurrentUser.Class_id, subject_id);

            foreach (var grade in grades)
            {
                grade.Grades    = new string[7];
                grade.Grades[0] = String.Join(",", grade.GradesArray.Where(g => g.Month == 2).Select(g => g.Grade).ToArray());
                grade.Grades[1] = String.Join(",", grade.GradesArray.Where(g => g.Month == 3).Select(g => g.Grade).ToArray());
                grade.Grades[2] = String.Join(",", grade.GradesArray.Where(g => g.Month == 4).Select(g => g.Grade).ToArray());
                grade.Grades[3] = String.Join(",", grade.GradesArray.Where(g => g.Month == 5).Select(g => g.Grade).ToArray());
                grade.Grades[4] = String.Join(",", grade.GradesArray.Where(g => g.Month == 6).Select(g => g.Grade).ToArray());
                grade.Grades[5] = String.Join(",", grade.GradesArray.Where(g => g.Month == 22).Select(g => g.Grade).ToArray());
                grade.Grades[6] = String.Join(",", grade.GradesArray.Where(g => g.Month == 23).Select(g => g.Grade).ToArray());
            }

            var vm = new GradesViewModel()
            {
                Students   = grades,
                Subject_id = subject_id,
                Semester   = 2
            };

            return(View("SecondSemesterGrades", vm));
        }
        private void loadGrid()
        {
            GradesRepository gr = new GradesRepository();

            gvGrades.DataSource = gr.getAllGrades();
            gvGrades.DataBind();
        }
示例#8
0
        public void AddGrade(Grades entityToAdd)
        {
            IGradesRepository repo = new GradesRepository(getEntities());

            Entities.Grades entityToAdd2 = Mapper.Map <Grades, Entities.Grades>(entityToAdd);
            repo.Add(entityToAdd2);
        }
示例#9
0
        public void Given_Grade_When_DeleteGradeAsync_Then_ShouldBeTrue()
        {
            RunOnDatabase(context => {
                // ARRANGE


                context.Roles.Add(Role.Create("student"));
                context.SaveChanges();

                var userType = context.Roles.FirstOrDefault();
                if (userType != null)
                {
                    context.Users.Add(User.Create("User first name", "User last name", "User1", "*****@*****.**", "parola"));
                }
                context.SaveChanges();

                var user = context.Users.FirstOrDefault();
                if (user == null)
                {
                    return;
                }
                context.Groups.Add(Group.Create("Grup", "Grup mare", user.Id));
                context.SaveChanges();

                context.TestTypes.Add(TestType.Create("Grila"));
                context.SaveChanges();

                var testType = context.TestTypes.FirstOrDefault();
                if (testType != null)
                {
                    context.Tests.Add(Test.Create("Test", "Test surpriza", user.Id, testType.Id));
                }
                context.SaveChanges();

                var test  = context.Tests.FirstOrDefault();
                var group = context.Groups.FirstOrDefault();
                if (group != null && test != null)
                {
                    context.TestInstances.Add(TestInstance.Create(50, @group.Id, test.Id, DateTime.Now));
                }
                context.SaveChanges();

                var testInstance     = context.TestInstances.FirstOrDefault();
                var gradesRepository = new GradesRepository(context);
                if (testInstance != null)
                {
                    var grade = Grade.Create(7, user.Id, testInstance.Id);

                    context.Add(grade);
                    context.SaveChanges();


                    // ACT
                    var result = gradesRepository.DeleteGradeAsync(grade.UserId, grade.TestInstanceId);
                    // ASSERT
                    result.Result.Should().Be(true);
                }
            });
        }
示例#10
0
        public IEnumerable <Grades> GetAllGrades()
        {
            IGradesRepository             repo           = new GradesRepository(getEntities());
            IEnumerable <Entities.Grades> returnedValue  = repo.GetAll();
            IEnumerable <Grades>          returnedValue2 = Mapper.Map <IEnumerable <Entities.Grades>, IEnumerable <Grades> >(returnedValue);

            return(returnedValue2);
        }
示例#11
0
        private void Button3_Click(object sender, EventArgs e)
        {
            gradesRepository = new GradesRepository();
            gradesRepository.GetGroups();

            if (button1.Text == "Įvesti")
            {
                Button  button  = (Button)sender;
                Subject subject = (Subject)button3.Tag;
                int     number;
                bool    success = int.TryParse(textBox1.Text, out number);

                if (success)
                {
                    if (number >= 0 && number <= 10)
                    {
                        gradesRepository.AddGrade(student1, subject, number);
                        label1.Text = "Vertinimas: " + number;
                    }

                    else
                    {
                        MessageBox.Show("Vertinimas gali būti tik sveikasis skaičius tarp 0 ir 10!");
                    }
                }

                else
                {
                    MessageBox.Show("Vertinimas gali būti tik sveikasis skaičius tarp 0 ir 10!");
                }
            }

            else
            {
                Button button = (Button)sender;
                Grade  grade  = (Grade)button1.Tag;
                int    number;
                bool   success = int.TryParse(textBox1.Text, out number);

                if (success)
                {
                    if (number >= 0 && number <= 10)
                    {
                        gradesRepository.EditGrade(grade, number);
                        label1.Text = "Vertinimas: " + grade.Number;
                    }
                    else
                    {
                        MessageBox.Show("Vertinimas gali būti tik sveikasis skaičius tarp 0 ir 10!");
                    }
                }

                else
                {
                    MessageBox.Show("Vertinimas gali būti tik sveikasis skaičius tarp 0 ir 10!");
                }
            }
        }
示例#12
0
        public Grades GetGradeById(int entityToGetById)
        {
            IGradesRepository repo = new GradesRepository(getEntities());

            Entities.Grades returnedValue  = repo.GetById(entityToGetById);
            Grades          returnedValue2 = Mapper.Map <Entities.Grades, Grades>(returnedValue);

            return(returnedValue2);
        }
示例#13
0
        public static void DeleteAllStudents()
        {
            GradesRepository.DeleteAllGrades();
            AttendanceRepository.RemoveAllAttendance();

            var db = new DnevnikEntities();

            db.Students.RemoveRange(db.Students);
            db.SaveChanges();
            db.Dispose();
        }
示例#14
0
        private void button4_Click(object sender, EventArgs e)
        {
            int  fid;
            bool parseOK = Int32.TryParse(comboBox1.SelectedValue.ToString(), out fid);

            GradesRepository repository  = new GradesRepository();
            UserRepository   repository1 = new UserRepository();
            string           userid      = repository1.GetUserIdNameSurname(textBox1.Text, textBox2.Text);

            repository.AddGrade(fid, userid, textBox3.Text, repository1.GetUserGroup(userid));

            Scan();
        }
示例#15
0
        public void Given_Grades_When_GetGradesAsyncsIsCalled_Then_ShouldReturnZeroGrades()
        {
            RunOnDatabase(context => {
                // ARRANGE
                var gradesRepository = new GradesRepository(context);

                // ACT
                var grades  = gradesRepository.GetGradesAsync();
                var counter = grades.Result.Count;
                // ASSERT
                counter.Should().Be(0);
            });
        }
示例#16
0
 public ActionResult SaveGrades(GradesViewModel vm)
 {
     try
     {
         GradesRepository.AddGradesToDB(vm.Students, vm.Semester, vm.Subject_id.Value);
         TempData["success"] = "1";
     }
     catch (Exception ex)
     {
         TempData["success"] = "0";
     }
     return(RedirectToAction("Show", new { semester = vm.Semester, id = vm.Subject_id }));
 }
示例#17
0
        public AdminControlGroupsRemove(Panel sideMenuPanel, Panel contentPanel)
        {
            this.sideMenuPanel = sideMenuPanel;
            this.contentPanel  = contentPanel;
            gradesRepository   = new GradesRepository();
            InitializeComponent();
            List <Group> groups = gradesRepository.GetGroups();

            foreach (Group group in groups)
            {
                listBox2.Items.Add(group.Name);
            }
        }
示例#18
0
 private void Button1_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrWhiteSpace(textBox2.Text) == true)
     {
         MessageBox.Show("Neteisingai įvestas pavadinimas.");
     }
     else
     {
         gradesRepository = new GradesRepository();
         gradesRepository.AddSubject(textBox2.Text);
         MessageBox.Show("Paskaita " + textBox2.Text + " sukurta.");
     }
 }
示例#19
0
        public void TestMethod1()
        {
            IConfigurationBuilder builder = new ConfigurationBuilder();
            var dburl = TestContext.Properties["JsonUrl"].ToString();

            Check.That(dburl).IsNotNull();
            builder.AddJsonFile(dburl);
            IConfigurationRoot   config           = builder.Build();
            IGradesRepository    gradesRepository = new GradesRepository(config);
            IEnumerable <Grades> grades           = gradesRepository.GetGrades();

            Check.That(grades).IsNotNull();
        }
        public AdminControlSubjectsRemove(Panel sideMenuPanel, Panel contentPanel)
        {
            this.sideMenuPanel = sideMenuPanel;
            this.contentPanel  = contentPanel;
            gradesRepository   = new GradesRepository();
            InitializeComponent();
            List <Subject> subjects = gradesRepository.GetSubjects();

            foreach (Subject subject in subjects)
            {
                listBox2.Items.Add(subject.Title);
            }
        }
示例#21
0
 private void button5_Click(object sender, EventArgs e)
 {
     try
     {
         GradesRepository repository = new GradesRepository();
         repository.CheckGradeExistence(textBox4.Text);
         repository.DeleteGrade(textBox4.Text);
         Scan();
     }
     catch (Exception exc)
     {
         MessageBox.Show("Error message: " + exc.Message);
     }
 }
        private void setLabels()
        {
            GradesRepository gr = new GradesRepository();

            lblMaghta.InnerText = gr.getGradeTitleByID(id.ToInt());

            StudentRepository s = new StudentRepository();

            lblStudentCount.InnerText = s.studentCountbyGradeID(id.ToInt()).ToString();

            vReportExamsRepository vre = new vReportExamsRepository();

            lblmianginkatbi.InnerText   = Convert.ToDouble(vre.getAverageGrade(id.ToInt(), 0)).ToString();
            lblmianginshafahi.InnerText = Convert.ToDouble(vre.getAverageGrade(id.ToInt(), 1)).ToString();
        }
        private void Button2_Click_1(object sender, EventArgs e)
        {
            gradesRepository = new GradesRepository();
            Student student1 = usersRepository.GetStudent(listBox2.SelectedItem.ToString());

            gradesRepository.RemoveGradesByStudent(student1.Id);
            usersRepository.RemoveStudent(listBox2.SelectedItem.ToString());
            listBox2.Items.Clear();
            List <Student> students = usersRepository.GetStudents();

            foreach (Student student in students)
            {
                listBox2.Items.Add(student.Name + " " + student.Surname);
            }
        }
        public async Task <ActionResult <List <Grade> > > GetAllGrades()
        {
            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    return(await GradesRepository.GetAllGradesAsync(connection));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
        }
        public void setLabel()
        {
            GradesRepository gr = new GradesRepository();

            lblMaghta.InnerText = gr.getGradeTitleByID(gid);
            FieldsRepository fr = new FieldsRepository();

            lblReshte.InnerText = fr.getFieldTitleByID(fid);

            StudentRepository sr = new StudentRepository();

            lblStudentsCount.InnerText = sr.countStudentsByFieldID_GradeID(fid, gid).ToString();

            vReportExamsRepository rep = new vReportExamsRepository();

            lblmianginkatbi.InnerText   = rep.getAverageOfFieldOfgrade(fid, gid, 0).ToString();
            lblmianginshafahi.InnerText = rep.getAverageOfFieldOfgrade(fid, gid, 1).ToString();
        }
示例#26
0
        public AdminControlSubjectsAttach(Panel sideMenuPanel, Panel contentPanel)
        {
            this.sideMenuPanel = sideMenuPanel;
            this.contentPanel  = contentPanel;
            gradesRepository   = new GradesRepository();
            InitializeComponent();
            List <Subject> subjects = gradesRepository.GetSubjects(false);

            foreach (Subject subject in subjects)
            {
                listBox1.Items.Add(subject.Title);
            }
            List <Group> groups = gradesRepository.GetGroups();

            foreach (Group group in groups)
            {
                listBox2.Items.Add(group.Name);
            }
        }
        public AdminControlStudentsAttach(Panel sideMenuPanel, Panel contentPanel)
        {
            this.sideMenuPanel = sideMenuPanel;
            this.contentPanel  = contentPanel;
            usersRepository    = new UsersRepository();
            gradesRepository   = new GradesRepository();
            InitializeComponent();
            List <Student> students = usersRepository.GetStudents(0);

            foreach (Student student in students)
            {
                listBox1.Items.Add(student.Name + " " + student.Surname);
            }
            List <Group> groups = gradesRepository.GetGroups();

            foreach (Group group in groups)
            {
                listBox2.Items.Add(group.Name);
            }
        }
示例#28
0
        public AdminControlTeachersAttach(Panel sideMenuPanel, Panel contentPanel)
        {
            this.sideMenuPanel = sideMenuPanel;
            this.contentPanel  = contentPanel;
            usersRepository    = new UsersRepository();
            gradesRepository   = new GradesRepository();
            InitializeComponent();
            List <Teacher> teachers = usersRepository.GetTeachers(0);

            foreach (Teacher teacher in teachers)
            {
                listBox1.Items.Add(teacher.Name + " " + teacher.Surname);
            }
            List <Subject> subjects = gradesRepository.GetSubjects();

            foreach (Subject subject in subjects)
            {
                listBox2.Items.Add(subject.Title);
            }
        }
        public async Task <IActionResult> DeleteAllGrades()
        {
            using (var connection = new SqlConnection(Configuration.GetConnectionString("DefaultConnection")))
            {
                try
                {
                    connection.Open();

                    var numberOfAffectedRows = await GradesRepository.DeleteAllGradesAsync(connection);

                    if (numberOfAffectedRows == 0)
                    {
                        return(NotFound("There aren't any grades in database"));
                    }
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }

            return(NoContent());
        }
示例#30
0
        public void RemoveGradeById(int entityToRemoveById)
        {
            IGradesRepository repo = new GradesRepository(getEntities());

            repo.RemoveById(entityToRemoveById);
        }