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)); } } }
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); }
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)); } }
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 }); }
public IActionResult EnrollStudent(EnrollStudentReq req) { string enroll = _service.EnrollStudent(req); return(Ok(enroll)); }