public IActionResult promocjaStudentaNaNowySemestr(EnrollSemesterRequest request) { string responde = _dbStudentServices.promocjaStudentaNaNowySemestr(request); if (responde.StartsWith("ObjEnrollment")) { var enrollmentResponde = convertParametrsIntoEnrollStudentResponde(responde); return(StatusCode(201, enrollmentResponde)); } return(NotFound(responde)); }
public string promocjaStudentaNaNowySemestr(EnrollSemesterRequest request) { string response = "", infoForException = ""; using (SqlConnection connection = new SqlConnection(connectParametr)) using (SqlCommand command = new SqlCommand()) { SqlDataReader dataReader = null; SqlTransaction transaction = null; try { command.Connection = connection; connection.Open(); transaction = connection.BeginTransaction(); command.Transaction = transaction; command.CommandText = $" SELECT IdEnrollment, Semester, IdStudy, StartDate " + " FROM Enrollment WHERE Semester = @Semester AND " + " IdStudy = (SELECT IdStudy FROM Studies WHERE Name = @Studies );"; command.Parameters.AddWithValue("Studies", request.Studies); command.Parameters.AddWithValue("Semester", request.Semester); dataReader = command.ExecuteReader(); if (!dataReader.Read()) { throw new Exception("Nie ma takiego rekordu"); } dataReader.Close(); string executeProcedure = $" DECLARE @return_status int; " + " EXEC @return_status = promocjaStudentaNaNastepnySemestr @StudiesName, @CurrentSemester; " + " SELECT 'IdEnrollment ' = @return_status; " + " "; command.CommandText = executeProcedure; command.Parameters.AddWithValue("StudiesName", request.Studies); command.Parameters.AddWithValue("CurrentSemester", request.Semester); dataReader = command.ExecuteReader(); dataReader.Read(); string result = dataReader.GetValue(0).ToString(); int v_IdEnrollment = Convert.ToInt32(result); infoForException = infoForException + "ExcReader " + result; dataReader.Close(); string selectObjEnrollment = " SELECT IdEnrollment, Semester, IdStudy, StartDate " + " FROM Enrollment WHERE IdEnrollment = @v_IdEnrollment ; "; command.CommandText = selectObjEnrollment; command.Parameters.AddWithValue("v_IdEnrollment", v_IdEnrollment); dataReader = command.ExecuteReader(); dataReader.Read(); response = "ObjEnrollment \n" + "IdEnrollment: " + (dataReader["IdEnrollment"].ToString()) + "\n" + "Semester: " + (dataReader["Semester"].ToString()) + "\n" + "IdStudy: " + (dataReader["IdStudy"].ToString()) + "\n" + "StartDate: " + (dataReader["StartDate"].ToString()) + "\n"; // End transaction dataReader.Close(); transaction.Commit(); } catch (SqlException sqlExc) { dataReader.Close(); transaction.Rollback(); return("SqlException \n " //; ///* + "StackTrace " + sqlExc.StackTrace + "_____\n" + infoForException ); // */ } catch (Exception myExc) { dataReader.Close(); transaction.Rollback(); return("Exception\n" + myExc.Message + "\nStackTrace\n " + myExc.StackTrace + "\n" + "_____\n" + infoForException ); // + "NumberIdEnrollment " + numberIdEnrollment + // " idStudyDlaException " + idStudyDlaException; //.ToString(); } } return(response + "\n ZrobionnoPPPPp"); }