Esempio n. 1
0
        public PromoteStudentResponse PromoteStudents(PromoteStudentRequest request)
        {
            var response = new PromoteStudentResponse();

            using var con = new SqlConnection(SetConnection.GetConnection());
            using var com = new SqlCommand();

            con.Open();
            com.Connection = con;
            var transaction = con.BeginTransaction();

            com.Transaction = transaction;

            com.CommandText = "SELECT enr.IdEnrollment from Enrollment enr INNER JOIN Studies st on enr.IdStudy = st.IdStudy WHERE st.Name = @Name and enr.Semester = @Semester";
            com.Parameters.AddWithValue("Name", request.Name);
            com.Parameters.AddWithValue("Semester", request.Semester);

            var dr = com.ExecuteReader();

            if (!dr.Read())
            {
                dr.Close();
                throw new  Exception("Nie znalezono semestru i/lub studiów");
            }
            else
            {
                dr.Close();


                using (SqlConnection conn = new SqlConnection(SetConnection.GetConnection()))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("PromoteStudents", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add(new SqlParameter("@Name", request.Name));
                    cmd.Parameters.Add(new SqlParameter("@Semester", request.Semester));
                    cmd.ExecuteReader();
                    conn.Close();
                }
                response.Semester    = request.Semester + 1;
                response.StartDate   = DateTime.Now.ToString("dd.MM.yyyy");
                response.StudiesName = request.Name;

                transaction.Commit();
            }

            return(response);
        }
Esempio n. 2
0
        private static void LoadMainData()
        {
            string strServer, strDatabase, strUser, strPassword;
            bool   nReturn = false;

            try
            {
                DBConnection dbCon = new DBConnection();
                dbCon.getDBConnectionInfo(out strServer, out strDatabase, out strUser, out strPassword);
                m_objManager.Parent   = null;
                m_objManager.DBEngine = new EzSql2(strServer, strDatabase, strUser, strPassword);
                m_objManager.DBEngine.open();
                nReturn = true;
                UIMessage.ENTER_TO_TAB            = HPA.Properties.Settings.Default.EnterToTab;
                UIMessage.DBEngine                = m_objManager.DBEngine;
                UIMessage.StoreProcName           = "MST_Message_Get";
                UIMessage.StoreProcParamMessageID = "@MessageID";
                UIMessage.StoreProcParamLanguage  = "@Language";
                UIMessage.StoreProcParamOutName   = "@Content";
                UIMessage.MessageBoxTitle         = "Paradise-HPA";
                //UIMessage.TA_LoadLogTimeWhenOpen = true;
                UIMessage.LoginWallpaper = HPA.Properties.Settings.Default.LoginWallpaper;
                m_objManager.UserID      = 3;


                return;
            }
            catch
            {
                if (nReturn == false)
                {
                    object        obj;
                    SetConnection frmCn = new SetConnection()
                    {
                        AssemblyName = "HPA.Component.SystemAdmin", ClassName = "SetConnection"
                    };
                    m_objManager.OpenObject(frmCn, true, null, out obj);
                }
                return;
            }
        }
Esempio n. 3
0
        public EnrollResponse EnrollStudent(EnrollStudentRequest request)
        {
            using var con = new SqlConnection(SetConnection.GetConnection());
            using var com = new SqlCommand();

            con.Open();
            com.Connection = con;
            var transaction = con.BeginTransaction();

            com.Transaction = transaction;

            com.CommandText = "SELECT s.IdStudy FROM Studies s WHERE s.Name = @Name";
            com.Parameters.AddWithValue("Name", request.Name);
            var dr = com.ExecuteReader();

            if (!dr.Read())
            {
                throw new Exception("Podane studia nie istnieją ");;
            }
            var idStudy = int.Parse(dr["IdStudy"].ToString());

            dr.Close();
            com.Parameters.Clear();
            com.CommandText =
                "SELECT * FROM Enrollment enr WHERE enr.Semester = 1 AND enr.IdStudy = @IdStudy";
            com.Parameters.AddWithValue("IdStudy", idStudy);
            dr = com.ExecuteReader();

            var enrollResponse = new EnrollResponse();

            if (!dr.Read())
            {
                dr.Close();
                com.Parameters.Clear();

                com.CommandText =
                    @"INSERT INTO Enrollment(IdEnrollment, Semester, StartDate, IdStudy) OUTPUT INSERTED.IdEnrollment, INSERTED.Semester, INSERTED.StartDate, INSERTED.IdStudy VALUES((SELECT MAX(E.IdEnrollment) FROM Enrollment E) + 1, @Semester, @StartDate, @IdStudy);";
                com.Parameters.AddWithValue("Semester", 1);
                com.Parameters.AddWithValue("StartDate", DateTime.Now);
                com.Parameters.AddWithValue("IdStudy", idStudy);

                enrollResponse.IdEnrollment = int.Parse(com.ExecuteScalar().ToString());
                enrollResponse.Semester     = int.Parse(com.Parameters["Semester"].Value.ToString());
                enrollResponse.IdStudy      = int.Parse(com.Parameters["IdStudy"].Value.ToString());
                enrollResponse.StartDate    =
                    DateTime.Parse(com.Parameters["StartDate"].Value.ToString()).ToString("yyyy-MM-dd");
            }
            else
            {
                enrollResponse.IdEnrollment = int.Parse(dr["IdEnrollment"].ToString());
                enrollResponse.Semester     = int.Parse(dr["Semester"].ToString());
                enrollResponse.IdStudy      = int.Parse(dr["IdStudy"].ToString());
                enrollResponse.StartDate    =
                    DateTime.Parse(dr["StartDate"].ToString()).ToString("yyyy-MM-dd");
            }

            dr.Close();
            com.Parameters.Clear();
            com.CommandText = "SELECT S.IndexNumber FROM Student S WHERE IndexNumber = @indexNumber";
            com.Parameters.AddWithValue("indexNumber", request.IndexNumber);
            dr = com.ExecuteReader();
            if (dr.Read())
            {
                throw new Exception("Numer indeksu nie jest unikalny");;
            }

            dr.Close();
            com.Parameters.Clear();
            com.CommandText =
                @"INSERT INTO Student(IndexNumber, FirstName, LastName, BirthDate, IdEnrollment) VALUES (@IndexNumber, @FirstName, @LastName, @BirthDate, @IdEnrollment)";
            com.Parameters.AddWithValue("IndexNumber", request.IndexNumber);
            com.Parameters.AddWithValue("FirstName", request.FirstName);
            com.Parameters.AddWithValue("LastName", request.LastName);
            com.Parameters.AddWithValue("BirthDate", request.BirthDate);
            com.Parameters.AddWithValue("IdEnrollment", enrollResponse.IdEnrollment);
            com.ExecuteNonQuery();

            transaction.Commit();
            return(enrollResponse);
        }