public IActionResult GetStudent(int id) { if (AddEnrollment.GetEnrollmentIdWithSemOne(id) == 13) { return(Ok("YESSS")); } return(NotFound("NO")); }
public IActionResult EnrollStudent(AddEnrollment student) { var result = _service.EnrollStudent(student); if (result.Studies != null) { return(CreatedAtAction(nameof(EnrollStudent), result)); } return(BadRequest(result.IdStudent)); }
public async Task <IHttpActionResult> AddEnrollment(AddEnrollment enrollment) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } unitOfWork.Enrollments.Insert(Mapper.Map <Enrollment>(enrollment)); await unitOfWork.Save(); return(Ok()); }
public IActionResult EnrollStudent(AddEnrollment student) { var result = _service.EnrollStudent(student); if (result.Studies != null) { return(CreatedAtAction(nameof(EnrollStudent), result)); } return(BadRequest(result.IdStudent)); /*var random = new Random(); * var idStudent = student.IdStudent; * var firstName = student.FirstName; * var lastName = student.LastName; * var birthDate = student.BirthDate; * var studies = student.Studies; * * var isNumeric = int.TryParse(idStudent, out _); * * if (string.IsNullOrEmpty(idStudent) || !isNumeric) * return BadRequest("Invalid Data In The Field IdStudent"); * if (string.IsNullOrEmpty(firstName) || !Regex.Match(firstName, * "^([A-Z])([a-z]{1,})$").Success) * return BadRequest("Invalid Data In The Field FirstName"); * if (string.IsNullOrEmpty(lastName) || !Regex.Match(lastName, * "^([A-Z])([a-z]{1,})$").Success) * return BadRequest("Invalid Data In The Field LastName"); * if (string.IsNullOrEmpty(birthDate) || !Regex.Match(birthDate, * @"^(0[1-9]|1[012])[\-](0[1-9]|[12][0-9]|3[01])[\-](19|20)\d\d$").Success) * return BadRequest("Invalid Data In The Field BirthDate"); * if (string.IsNullOrEmpty(studies) || !Regex.Match(studies, * "^([A-Z]{1})([A-Za-z]{1,})$").Success) * return BadRequest("Invalid Data In The Field Studies"); * * if (AddEnrollment.IsThereStudentWithId(idStudent)) * return BadRequest("Provided IdStudent Is Already In Use."); * if (!AddEnrollment.IsThereStudy(studies)) * return BadRequest("There Is No Such Study"); * * var createCustomEnrollment = !AddEnrollment.DoesStudyHaveSemesterOne(studies); * var studyId = AddEnrollment.GetStudyId(studies); * int customEnrollmentId; * while (true) * { * customEnrollmentId = random.Next(0, 2000); * if (!AddEnrollment.IsThereEnrollmentWithId(customEnrollmentId.ToString())) break; * } * var enrollmentId = AddEnrollment.GetEnrollmentIdWithSemOne(studyId); * using (var sqlConnection = * new SqlConnection(@"Server=db-mssql.pjwstk.edu.pl;Database=s18881;User Id=apbds18881;Password=admin;")) * { * sqlConnection.Open(); * var transaction = sqlConnection.BeginTransaction("SampleTransaction"); * if (createCustomEnrollment) * { * using (var customEnrollmentCommand = new SqlCommand()) * { * customEnrollmentCommand.Connection = sqlConnection; * customEnrollmentCommand.CommandText = "INSERT INTO Enrollment" + * "(IdEnrollment, Semester, IdStudy, StartDate) " + * "VALUES (@IdEnrollment, @Semester, @IdStudy, @StartDate)"; * customEnrollmentCommand.Parameters.AddWithValue("idEnrollment", customEnrollmentId); * customEnrollmentCommand.Parameters.AddWithValue("Semester", 1); * customEnrollmentCommand.Parameters.AddWithValue("IdStudy", studyId); * customEnrollmentCommand.Parameters.AddWithValue("StartDate", DateTime.Now); * customEnrollmentCommand.Transaction = transaction; * try * { * customEnrollmentCommand.ExecuteNonQuery(); * } * catch (Exception e) * { * Console.WriteLine("Commit Exception Type: {0}", e.GetType()); * Console.WriteLine(" Message: {0}", e.Message); * try * { * transaction.Rollback(); * return Problem(e.Message); * } * catch (Exception e2) * { * Console.WriteLine("Rollback Exception Type: {0}", e2.GetType()); * Console.WriteLine(" Message: {0}", e2.Message); * return Problem(e.Message); * } * } * } * } * * using (var mainCommand = new SqlCommand()) * { * mainCommand.Connection = sqlConnection; * mainCommand.CommandText = "INSERT INTO Student " + * "(IdStudent, FirstName, LastName, BirthDate, IdEnrollment) " + * "VALUES (@IdStudent, @FirstName, @LastName, @BirthDate, @IdEnrollment)"; * mainCommand.Parameters.AddWithValue("idStudent", idStudent); * mainCommand.Parameters.AddWithValue("FirstName", firstName); * mainCommand.Parameters.AddWithValue("LastName", lastName); * if (!DateTime.TryParseExact(birthDate, "MM-dd-yyyy", null, DateTimeStyles.None, out var simpleDate )) * return Problem("Problem with Parsing the Date"); * mainCommand.Parameters.AddWithValue("BirthDate", simpleDate); * mainCommand.Parameters.AddWithValue("IdEnrollment", enrollmentId); * mainCommand.Transaction = transaction; * try * { * mainCommand.ExecuteNonQuery(); * } * catch (Exception e) * { * Console.WriteLine("Commit Exception Type: {0}", e.GetType()); * Console.WriteLine(" Message: {0}", e.Message); * try * { * transaction.Rollback(); * return Problem(e.Message); * } * catch (Exception e2) * { * Console.WriteLine("Rollback Exception Type: {0}", e2.GetType()); * Console.WriteLine(" Message: {0}", e2.Message); * return Problem(e.Message); * } * } * } * transaction.Commit(); * } * * var result = AddEnrollment.GetStudent(student.IdStudent); * return CreatedAtAction(nameof(EnrollStudent), result);*/ }