Exemplo n.º 1
0
        public IActionResult GetStudent(string id)
        {
            var db      = new s16451Context();
            var student = db.Student.Single(s => s.IndexNumber == id);

            if (student == null)
            {
                return(NotFound());
            }

            return(Ok(student));
        }
Exemplo n.º 2
0
        public IActionResult PromoteStudents(PromoteStudentsRequest request)
        {
            var db     = new s16451Context();
            var param1 = new SqlParameter("Studies", request.Studies);
            var param2 = new SqlParameter("Semester", request.Semester);

            try {
                var affected = db.Database
                               .ExecuteSqlRaw("EXEC PromoteStudents @Studies, @Semester", param1, param2);
                return(Ok($"Promoted {affected} students"));
            } catch (Exception e) {
                return(NotFound(e.Message));
            }
        }
Exemplo n.º 3
0
        public IActionResult DeleteStudent(string id)
        {
            var db      = new s16451Context();
            var student = db.Student.Single(s => s.IndexNumber == id);

            if (student == null)
            {
                return(NotFound());
            }

            db.Attach(student);
            db.Student.Remove(student);
            db.SaveChanges();

            return(Ok("Usuwanie ukończone"));
        }
Exemplo n.º 4
0
        public IActionResult UpdateStudent(string id, UpdateStudentRequest request)
        {
            var db      = new s16451Context();
            var student = db.Student.Single(s => s.IndexNumber == id);

            if (student == null)
            {
                return(NotFound());
            }

            db.Attach(student);
            if (request.IndexNumber != null)
            {
                student.IndexNumber = request.IndexNumber;
                db.Entry(student).Property("IndexNumber").IsModified = true;
            }
            if (request.FirstName != null)
            {
                student.FirstName = request.FirstName;
                db.Entry(student).Property("FirstName").IsModified = true;
            }
            if (request.LastName != null)
            {
                student.FirstName = request.LastName;
                db.Entry(student).Property("LastName").IsModified = true;
            }
            if (request.BirthDate != null)
            {
                student.BirthDate = request.GetBirthDate();
                db.Entry(student).Property("BirthDate").IsModified = true;
            }
            if (request.Password != null)
            {
                student.Password = request.Password;
                db.Entry(student).Property("Password").IsModified = true;
            }
            if (request.IdEnrollment != null)
            {
                student.IdEnrollment = request.IdEnrollment.Value;
                db.Entry(student).Property("IdEnrollemnt").IsModified = true;
            }

            db.SaveChanges();

            return(Ok("Aktualizacja ukończona"));
        }
Exemplo n.º 5
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            var db      = new s16451Context();
            var studies = db.Studies.SingleOrDefault(s => s.Name == request.Studies);

            if (studies == null)
            {
                return(BadRequest("Studia nie istnieja"));
            }
            var enrollment = db.Enrollment
                             .SingleOrDefault(e => e.IdStudy == studies.IdStudy && e.Semester == 1);

            if (enrollment == null)
            {
                enrollment = new Enrollment
                {
                    Semester  = 1,
                    IdStudy   = studies.IdStudy,
                    StartDate = DateTime.Now
                };
                db.Enrollment.Add(enrollment);
                db.SaveChanges();
            }
            if (db.Student.Any(s => s.IndexNumber == request.IndexNumber))
            {
                return(BadRequest("Student id jest zajete przez innego studenta"));
            }

            var student = new Student
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = MapStringToDateTime(request.Birthdate),
                IdEnrollment = enrollment.IdEnrollment
            };

            db.Student.Add(student);
            db.SaveChanges();

            return(Ok(student));
        }
Exemplo n.º 6
0
        public IActionResult GetStudents()
        {
            var db = new s16451Context();

            return(Ok(db.Student.ToList()));
        }