示例#1
0
 public IActionResult EnrollStudent(EnrollStudentReq request)
 {
     try
     {
         var enrollment = iService.EnrollStudent(request);
         return(Ok(enrollment));
     }
     catch (MyException ex)
     {
         if (ex.Type == MyException.ExceptionType.NotFound)
         {
             return(NotFound("This study does not exist!"));
         }
         else if (ex.Type == MyException.ExceptionType.BadRequest)
         {
             return(BadRequest("Student with this ID already exists!"));
         }
         else if (ex.Type == MyException.ExceptionType.EmptyParameter)
         {
             return(BadRequest("Please provice all the parameters!"));
         }
         else
         {
             return(StatusCode(500));
         }
     }
 }
示例#2
0
        public string EnrollStudent(EnrollStudentReq req)
        {
            var student = _context.Student.Where(s => s.IndexNumber.Equals(req.IndexNumber)).ToList();

            if (student.Count != 0)
            {
                return("Istnieje juz taki indeks");
            }
            var studi      = _context.Studies.Where(st => st.Name.Equals(req.Studies)).ToList();
            var enrollment = _context.Enrollment.Where(e => e.IdStudy.Equals(studi.First().IdStudy) && e.Semester == 1).ToList();

            if (enrollment.Count() == 0)
            {
                Enrollment enrol = new Enrollment
                {
                    IdEnrollment = enrollment.First().IdEnrollment,
                    IdStudy      = studi.First().IdStudy,
                    Semester     = 1,
                    StartDate    = DateTime.Now
                };

                _context.Enrollment.Add(enrol);
                _context.SaveChanges();
            }
            return(null);
        }
示例#3
0
        public IActionResult EnrollStudent(EnrollStudentReq request)
        {
            /*
             * var response = _dbService.EnrollStudent(request);
             * if (response.Error != null)
             * {
             *  return BadRequest(response.Error);
             * }
             */

            var idStudy = _studentContext.Studies.Where(s => s.Name == request.Studies).Select(s => s.IdStudy).FirstOrDefault();

            if (idStudy == 0) // default
            {
                return(BadRequest("Study not found"));
            }

            var idEnrollment = _studentContext.Enrollment.Where(e => e.IdStudy == idStudy && e.Semester == 1).Select(e => e.IdEnrollment).FirstOrDefault();

            if (idEnrollment == 0) // default
            {
                idEnrollment = _studentContext.Enrollment.Select(e => e.IdEnrollment).Max() + 1;
                var enrollment = new Entities.Enrollment
                {
                    IdEnrollment = idEnrollment,
                    IdStudy      = idStudy,
                    Semester     = 1,
                    StartDate    = DateTime.Now
                };
                _studentContext.Add(enrollment);
            }

            var student = new Entities.Student
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                Password     = request.Password,
                RefreshToken = request.Password,
                BirthDate    = request.BirthDate,
                IdEnrollment = idEnrollment,
                IdRole       = request.IdRole,
            };

            _studentContext.Add(student);
            _studentContext.SaveChanges();

            var response = new
            {
                IdEnrollment = idEnrollment
            };

            return(Ok(response));
        }
 public IActionResult CreateStudent(EnrollStudentReq req)
 {
     try
     {
         return(Created("", _dbService.EnrollStudent(req)));
     }
     catch (Exception e)
     {
         Console.WriteLine("Cos poszlo nie tak!!!");
         Console.WriteLine(e.StackTrace);
         return(StatusCode(400));
     }
 }
示例#5
0
 public Models_Zadanie10.Enrollment EnrollStudent(EnrollStudentReq req)
 {
     using (var db = new s18734Context())
     {
         using (var transaction = db.Database.BeginTransaction())
         {
             var study = DoStudiesExist(req.Studies);
             if (study == null)
             {
                 transaction.Rollback();
                 throw new Exception("Studia nie istnieja");
             }
             Models_Zadanie10.Enrollment enrollment = GetEnrollment(study.IdStudy);
             if (enrollment == null)
             {
                 enrollment = new Models_Zadanie10.Enrollment()
                 {
                     Semester  = 1,
                     IdStudy   = study.IdStudy,
                     StartDate = DateType.FromString(DateTime.Now.ToString("MM.dd.yyyy"))
                 };
                 db.Enrollment.Add(enrollment);
                 db.SaveChanges();
             }
             if (checkIfStudentExist(req.IndexNumber))
             {
                 transaction.Rollback();
                 throw new Exception();
             }
             var stud = new Models_Zadanie10.Student
             {
                 IndexNumber  = req.IndexNumber,
                 FirstName    = req.FirstName,
                 LastName     = req.LastName,
                 BirthDate    = DateType.FromString(req.BirthDate),
                 IdEnrollment = IntegerType.FromObject(enrollment.IdEnrollment)
             };
             db.Student.Add(stud);
             db.SaveChanges();
             transaction.Commit();
             return(enrollment);
         }
     }
 }
        public EnrollStudentRes EnrollStudent(EnrollStudentReq request)
        {
            int _semester = 1;

            // checks if all the passed parameters are valid
            if (string.IsNullOrEmpty(request.IndexNumber) || string.IsNullOrEmpty(request.FirstName) || string.IsNullOrEmpty(request.LastName) ||
                string.IsNullOrEmpty(request.BirthDate.ToString()) || string.IsNullOrEmpty(request.Studies))
            {
                throw new MyException(MyException.ExceptionType.EmptyParameter, "All the parameters are required!");
            }

            // checks if a student with given index number already exists or not. If exists, then throws MyException
            var student = iContext.Student.Where(s => s.IndexNumber == request.IndexNumber).ToList();

            if (student.Count() != 0)
            {
                throw new MyException(MyException.ExceptionType.BadRequest, "Student with this ID already exists!");
            }

            // checks if a passenger study field exits or not. If not, then throws MyException
            var _idStudy = iContext.Studies.Where(i => i.Name == request.Studies).Select(i => i.IdStudy);

            if (_idStudy.Count() == 0)
            {
                throw new MyException(MyException.ExceptionType.NotFound, "This faculty does not exist!");
            }

            // checks if an enrollment exists with given study field and semester 1. If not, then creates a new enrollment
            int maxIdEnrollment = 0;
            var _idEnrollment   = iContext.Enrollment.Where(e => e.IdStudy == _idStudy.First() && e.Semester == 1).Select(e => e.IdEnrollment);

            if (_idEnrollment.Count() == 1)
            {
                maxIdEnrollment = _idEnrollment.First();
            }
            else
            {
                // creating a new enrollment and getting its ID
                maxIdEnrollment = iContext.Enrollment.Max(i => i.IdEnrollment);
                maxIdEnrollment++;
                var newEnrollment = new Enrollment
                {
                    IdEnrollment = maxIdEnrollment,
                    Semester     = _semester,
                    IdStudy      = _idStudy.First(),
                    StartDate    = DateTime.Now
                };
                iContext.Enrollment.Add(newEnrollment);
            }

            // after everything is successful, here we add a new student to semester 1 with given study field
            var newStudent = new Student
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.BirthDate,
                IdEnrollment = maxIdEnrollment
            };

            iContext.Student.Add(newStudent);
            // saviong all the changes we make above
            iContext.SaveChanges();

            // returning response to the user about the successful operation
            return(new EnrollStudentRes
            {
                FirstName = request.FirstName,
                LastName = request.LastName,
                Semester = _semester,
                Studies = request.Studies
            });
        }
示例#7
0
        public IActionResult EnrollStudent(EnrollStudentReq req)
        {
            string enroll = _service.EnrollStudent(req);

            return(Ok(enroll));
        }