Пример #1
0
        public IActionResult PutStudent(ChangeStudentRequest studento)
        {
            var student = _context.Student.Where(stu => stu.IndexNumber == studento.IndexNumber);

            Student studenta = new Student
            {
                IndexNumber = studento.IndexNumber,
                FirstName   = studento.FirstName,
                LastName    = studento.LastName
            };

            _context.Attach(studenta);
            _context.Entry(studenta).Property("FirstName").IsModified = true;
            _context.Entry(studenta).Property("LastName").IsModified  = true;

            _context.SaveChanges();

            return(Ok("Aktualizacja dokonczona"));
        }
Пример #2
0
        public Enrollment EnrollStudent(EnrollStudentRequest request)
        {
            using (var db = new s18291Context())
            {
                var st = new Enrollment();
                st.Semester  = 1;
                st.StartDate = DateTime.Parse(DateTime.Now.ToShortTimeString());

                var studies = db.Studies.Where(studies => studies.Name == request.Studies).FirstOrDefault();

                if (studies == null)
                {
                    throw new Exception("Bad Request");
                }

                st.IdStudy = studies.IdStudy;

                var en = db.Enrollment.Any(en => en.IdStudy == studies.IdStudy && en.Semester == 1 && en.StartDate == db.Enrollment.Max(enp => enp.StartDate));

                if (!en)
                {
                    var stude = db.Student.Any(stu => stu.IndexNumber == request.IndexNumber);
                    if (stude)
                    {
                        throw new Exception("Nie unikalny student");
                    }

                    var enrollments = db.Enrollment.Max(emp => emp.IdEnrollment);


                    db.Enrollment.Add(new Enrollment
                    {
                        IdEnrollment = enrollments + 1,
                        Semester     = 1,
                        IdStudy      = studies.IdStudy,
                        StartDate    = DateTime.Now
                    });


                    db.Student.Add(new Student
                    {
                        IndexNumber  = request.IndexNumber,
                        FirstName    = request.FirstName,
                        LastName     = request.LastName,
                        BirthDate    = DateTime.Parse(request.Birthdate),
                        IdEnrollment = enrollments + 1
                    });
                    db.SaveChanges();
                }
                else
                {
                    var enroll = db.Enrollment.Where(en => en.IdStudy == studies.IdStudy && en.Semester == 1 && en.StartDate == db.Enrollment.Max(enp => enp.StartDate)).SingleOrDefault();
                    db.Student.Add(new Student
                    {
                        IndexNumber  = request.IndexNumber,
                        FirstName    = request.FirstName,
                        LastName     = request.LastName,
                        BirthDate    = DateTime.Parse(request.Birthdate),
                        IdEnrollment = enroll.IdEnrollment + 1
                    });
                    db.SaveChanges();
                }
                //var st = new Enrollment();
                //st.Semester = 1;
                //st.StartDate = DateTime.Parse(DateTime.Now.ToShortTimeString());

                //using (var con = new SqlConnection("Data Source = db-mssql; Initial Catalog = s18291; Integrated Security = True"))
                //using (var com = new SqlCommand())
                //{

                //    com.Connection = con;
                //    con.Open();

                //    var tran = con.BeginTransaction();
                //    com.Transaction = tran;
                //    try
                //    {
                //        //1 Czy studia istnieja?
                //        com.CommandText = "select IdStudy from studies where name = @name";
                //        com.Parameters.AddWithValue("name", request.Studies);
                //        var dr = com.ExecuteReader();


                //        if (!dr.Read())
                //        {
                //            tran.Rollback();
                //            //return BadRequest("Studia nie istnieja");
                //            throw new Exception();
                //            //Zglloszenie bledu
                //        }

                //        int idstudies = (int)dr["IdStudy"];
                //        dr.Close();
                //        st.IdStudy = idstudies;

                //        com.CommandText = "Select IdEnrollment From Enrollment WHERE IdStudy = @IdStudy AND SEMESTER = 1 AND StartDAte = (SELECT MAX(StartDate) FROM Enrollment WHERE @IdStudy = @IdStudy)";
                //        com.Parameters.AddWithValue("IdStudy", idstudies);
                //        dr = com.ExecuteReader();



                //        if (!dr.Read())
                //        {
                //            dr.Close();
                //            com.CommandText = "Select IndexNumber From Student Where IndexNumber = @index";
                //            com.Parameters.AddWithValue("index", request.IndexNumber);
                //            dr = com.ExecuteReader();
                //            if (dr.Read())
                //            {
                //                throw new Exception("NIEUNIKALNY STUDENT");

                //            }
                //            dr.Close();


                //            com.CommandText = "SELECT MAX(IdEnrollment) as 'Maximum'  from Enrollment";
                //            dr = com.ExecuteReader();
                //            dr.Read();

                //            var nextValue = (int)dr["Maximum"] + 1;
                //            st.IdEnrollment = nextValue;

                //            dr.Close();
                //            com.CommandText = "Insert into Enrollment(IdEnrollment, Semester, IdStudy, StartDate) VALUES(@next, 1, @IdStudy, GETDATE())";
                //            com.Parameters.AddWithValue("next", nextValue);
                //            //com.Parameters.AddWithValue("IdStudy", idstudies);
                //            Console.WriteLine(nextValue);
                //            com.ExecuteNonQuery();


                //            Console.WriteLine("CO?");
                //            //x dodanie studenta

                //            com.CommandText = "Insert Into Student(IndexNumber, FirstName, LastName, BirthDate,IdEnrollment) VALUES (@Index, @FName, @LastName, @BirthDate,@nexte)";

                //            com.Parameters.AddWithValue("Index", request.IndexNumber);
                //            com.Parameters.AddWithValue("Fname", request.FirstName);
                //            com.Parameters.AddWithValue("LastName", request.LastName);
                //            com.Parameters.AddWithValue("BirthDate", request.Birthdate);
                //            com.Parameters.AddWithValue("nexte", nextValue);



                //            com.ExecuteNonQuery();
                //            tran.Commit();
                //        }
                //        else
                //        {
                //            var nexte = (int)dr["IdEnrollment"];
                //            st.IdEnrollment = nexte;
                //            dr.Close();
                //            com.CommandText = "Insert Into Student(IndexNumber, FirstName, LastName, BirthDate,IdEnrollment) VALUES (@Index, @FName, @LastName, @BirthDate,@nexte)";

                //            com.Parameters.AddWithValue("Index", request.IndexNumber);
                //            com.Parameters.AddWithValue("Fname", request.FirstName);
                //            com.Parameters.AddWithValue("LastName", request.LastName);
                //            com.Parameters.AddWithValue("BirthDate", request.Birthdate); // CZY ENROLLMENTS TEZ?
                //            com.Parameters.AddWithValue("nexte", nexte);



                //            com.ExecuteNonQuery();
                //            tran.Commit();
                //        }
                //    }
                //    catch (SqlException e)
                //    {
                //        Console.WriteLine(e.Message);
                //        tran.Rollback();
                //    }
                //    catch (Exception e)
                //    {
                //        Console.WriteLine(e.Message);
                //       // return BadRequest(400);

                //    }



                return(st);
            }
        }