public IActionResult EnrollStudent(DTOs.Requests.Student studentRequest) { return(ProcessResponseState(dbService.EnrollStudent(studentRequest))); }
public ResponseState EnrollStudent(DTOs.Requests.Student studentRequest) { int idStudy; if (studentRequest.indexNumber == null) { return(ResponseState.Fail); } if (studentRequest.firstName == null) { return(ResponseState.Fail); } if (studentRequest.lastName == null) { return(ResponseState.Fail); } if (studentRequest.birthDate == null) { return(ResponseState.Fail); } if (studentRequest.studies == null) { return(ResponseState.Fail); } var com = new SqlCommand() { CommandText = "select IDSTUDY from STUDIES where NAME = @studies" }; com.Parameters.AddWithValue("studies", studentRequest.studies); if (executeSelect(com).Count == 0) { return(ResponseState.Fail); } idStudy = (int)executeSelect(com)[0][0]; com = new SqlCommand() { CommandText = "select * from ENROLLMENT e inner join STUDENT S on e.IDENROLLMENT = s.IDENROLLMENT where e.SEMESTER = 1 and e.IDSTUDY = @idStudy and s.INDEXNUMBER = @indexNumber" }; com.Parameters.AddWithValue("idStudy", idStudy); com.Parameters.AddWithValue("indexNumber", studentRequest.indexNumber); if (executeSelect(com).Count != 0) { return(ResponseState.NoDataChanged); } com = new SqlCommand { CommandText = "select * from STUDENT where INDEXNUMBER = @indexNumber" }; com.Parameters.AddWithValue("indexNumber", studentRequest.indexNumber); if (executeSelect(com).Count != 0) { return(ResponseState.NoDataChanged); } com = new SqlCommand() { CommandText = "select max(IDENROLLMENT) from ENROLLMENT" }; int idEnrollment = (int)executeSelect(com)[0][0] + 1; var transaction = GetConnection().BeginTransaction(); com = new SqlCommand() { CommandText = "insert into ENROLLMENT(IDENROLLMENT, STARTDATE, IDSTUDY, SEMESTER) values (@idEnrollment, @startDate, @idStudy, @semester" }; DateTime dateTime = DateTime.Now; com.Parameters.AddWithValue("idEnrollment", idEnrollment); com.Parameters.AddWithValue("startDate", dateTime); com.Parameters.AddWithValue("idStudy", idStudy); com.Parameters.AddWithValue("semester", 1); ExecuteInsert(com); com = new SqlCommand() { CommandText = "insert into STUDENT(INDEXNUMBER, FIRSTNAME, LASTNAME, BIRTHDATE, IDENROLLMENT) VALUES (@indexNumber, @firstName, @lastName, @birthDate, @idEnrollment)" }; com.Parameters.AddWithValue("indexNumber", studentRequest.indexNumber); com.Parameters.AddWithValue("firstName", studentRequest.firstName); com.Parameters.AddWithValue("lastName", studentRequest.lastName); com.Parameters.AddWithValue("birthdate", studentRequest.birthDate); com.Parameters.AddWithValue("idEnrollment", idEnrollment); ExecuteInsert(com); Model.Enrollment enrollment = new Enrollment(); enrollment.idEnrollment = idEnrollment; enrollment.semester = 1; enrollment.idStudy = idStudy; enrollment.startDate = dateTime; transaction.Commit(); return(ResponseState.Success); }