Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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");
        }