コード例 #1
0
        public IActionResult PromoteStudents(PropomoteStudentsRequest request)
        {
            _service.PromoteStudents(request);
            var response = _service.PromoteStudents(request);

            return(Ok(response));
        }
コード例 #2
0
        public string PromoteStudents(PropomoteStudentsRequest request)
        {
            var conBuilder = new SqlConnectionStringBuilder();

            conBuilder.DataSource         = "db-mssql";
            conBuilder.InitialCatalog     = "s17025";
            conBuilder.IntegratedSecurity = true;
            string ConString = conBuilder.ConnectionString;



            using (var con = new SqlConnection(ConString))
                using (var com = new SqlCommand())
                {
                    com.Connection = con;
                    con.Open();
                    var tran = con.BeginTransaction();
                    com.Transaction = tran;

                    try
                    {
                        com.CommandText = "SELECT S.IdStudy FROM STUDIES S, ENROLLMENT WHERE NAME=@name AND SEMESTER=@semester";
                        com.Parameters.AddWithValue("name", request.Studies);
                        com.Parameters.AddWithValue("semester", request.Semester);

                        var dr = com.ExecuteReader();

                        if (!dr.Read())
                        {
                            tran.Rollback();
                            return("Brak studiow");
                        }
                        int idstudy = (int)dr["IdStudy"];
                        com.CommandText = "EXEC PromoteStudents @name, @semester";
                        com.ExecuteNonQuery();
                        dr.Close();

                        com.CommandText = "SELECT * FROM ENROLLMENT WHERE IDSTUDY = @idstudy AND SEMESTER=@semester+1";
                        com.Parameters.AddWithValue("idstudy", idstudy);
                        com.Parameters.AddWithValue("semester", request.Semester);
                        var enrollment = new Enrollment();
                        enrollment.IdEnrollment = (int)dr["IdEnrollment"];
                        enrollment.IdStudy      = idstudy;
                        enrollment.Semester     = (int)dr["Semester"];
                        enrollment.StartDate    = Convert.ToString(dr["StartDate"]);
                        com.ExecuteNonQuery();
                        dr.Close();
                        tran.Commit();

                        return("Ok(201), idWpisu: " +
                               Convert.ToString(enrollment.IdEnrollment) + ", idStudy: " +
                               Convert.ToString(enrollment.IdStudy) + ", semester: " +
                               Convert.ToString(enrollment.Semester) + ", data rozpoczecia: " +
                               Convert.ToString(enrollment.StartDate));
                    }
                    catch (SqlException e)
                    {
                        return("Niespodziewany blad!");
                    }
                }
        }