コード例 #1
0
        public IActionResult EnrollStudent(string IndexNumber, string FirstName, string LastName, string BirthDate, string Studies)
        {
            if (string.IsNullOrEmpty(IndexNumber) || string.IsNullOrEmpty(FirstName) || string.IsNullOrEmpty(LastName) || string.IsNullOrEmpty(BirthDate) || string.IsNullOrEmpty(Studies))
            {
                Console.WriteLine("Parametry żądania mają niepoprawną wartość");
                return(StatusCode(400));
            }
            else
            {
                try
                {
                    Request_EnrollStudent request = new Request_EnrollStudent();
                    request.IndexNumber = IndexNumber;
                    request.FirstName   = FirstName;
                    request.LastName    = LastName;
                    request.BirthDate   = DateTime.ParseExact(BirthDate, "yyyy-MM-dd", CultureInfo.InvariantCulture);
                    request.Studies     = Studies;

                    Response_Enrollment response = _dbService.EnrollStudent(request);

                    return(Ok(response));
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Blad przy wywolaniu db.EnrollStudent : " + ex.Message.ToString());
                    return(StatusCode(400));
                }
            }
        }
コード例 #2
0
        public Response_Enrollment PromoteStudents(int Semester, string Studies)
        {
            Response_Enrollment response = new Response_Enrollment();

            //1. Czy studia istnieja?
            var myContext = new s17975Context();

            //left Join

            /*
             * var studyExists = myContext.Enrollment
             *  .LeftJoin(Studies,
             *  e=>e.IdStudy,
             *  s=>s.IdStudy
             *  (x,y)=>{ });
             */

            //com.CommandText = "select s17975.dbo.Enrollment.IdEnrollment,s17975.dbo.Enrollment.Semester, s17975.dbo.Enrollment.IdStudy, s17975.dbo.Enrollment.StartDate  from s17975.dbo.Enrollment LEFT JOIN s17975.dbo.Studies ON s17975.dbo.Studies.IdStudy = s17975.dbo.Enrollment.IdStudy WHERE s17975.dbo.Studies.Name='" + @Studies + "' AND s17975.dbo.Enrollment.Semester=" + @Semester + ";";

            return(response);
        }
コード例 #3
0
 public IActionResult PromoteStudents(int Semester, string Studies)
 {
     Console.WriteLine(User.Claims.ToList().Count());
     if (Semester <= 0 || Semester > 10 || string.IsNullOrEmpty(Studies))
     {
         Console.WriteLine("Parametry żądania mają niepoprawną wartość");
         return(StatusCode(400));
     }
     else
     {
         try
         {
             Response_Enrollment response = _dbService.PromoteStudents(Semester, Studies);
             return(Ok(response));
         }
         catch (Exception ex)
         {
             Console.WriteLine("Blad przy wywolaniu db.PromoteStudents : " + ex.Message.ToString());
             return(StatusCode(404));
         }
     }
 }
コード例 #4
0
        public Response_Enrollment EnrollStudent(Request_EnrollStudent request)
        {
            var myContext = new s17975Context();

            Response_Enrollment response = new Response_Enrollment();
            var studies   = request.Studies;
            var student   = new Student();
            int idstudies = 0;

            student.FirstName   = request.FirstName;
            student.LastName    = request.LastName;
            student.IndexNumber = request.IndexNumber;
            student.BirthDate   = request.BirthDate;

            //1. Czy studia istnieja?
            try
            {
                idstudies = myContext.Studies
                            .Where(idstudies => idstudies.Name.Equals(studies))
                            .FirstOrDefault()
                            .IdStudy;
            } catch (Exception ex)
            {
                throw new Exception("Wybrene studia nie istnieją !");
            }
            Console.WriteLine("IDStudy :" + idstudies);

            //2. Obecne ID Enrollment?
            try
            {
                student.IdEnrollment = myContext.Enrollment
                                       .Max(e => e.IdEnrollment) + 1;
            } catch (Exception ex)
            {
                student.IdEnrollment = 1;
            }
            Console.WriteLine("IDEnr :" + student.IdEnrollment);
            //3. IndexNumer unikalny?
            try
            {
                var indexExists = myContext.Student
                                  .Where(d => d.IndexNumber.Equals(student.IndexNumber))
                                  .FirstOrDefault()
                                  .IndexNumber;

                throw new Exception("IndexNumber już istnieje !");
            }
            catch (Exception ex)
            {
                Console.WriteLine("index nie istnieje");
            }
            //4. Wpis już istnieje?
            Boolean exists_Enrollment = false;

            try
            {
                student.IdEnrollment = myContext.Enrollment
                                       .Where(d => d.IdStudy.Equals(idstudies) && d.Semester == 1)
                                       .FirstOrDefault()
                                       .IdEnrollment;
                exists_Enrollment = true;
            } catch (Exception ex)
            {
                Console.WriteLine("wpis nie istnieje");
            }
            //5. Dodanie enrollment jeżeli nie istnieje
            if (!exists_Enrollment)
            {
                var newEnrollments = new Enrollment();

                newEnrollments.IdEnrollment = student.IdEnrollment;
                newEnrollments.Semester     = 1;
                newEnrollments.IdStudy      = idstudies;
                newEnrollments.StartDate    = DateTime.Now;
                myContext.Add(newEnrollments);
                myContext.SaveChanges();
            }
            //6. Dodanie studenta
            var newStudent = new Student();

            newStudent.IndexNumber  = student.IndexNumber;
            newStudent.FirstName    = student.FirstName;
            newStudent.LastName     = student.LastName;
            newStudent.BirthDate    = student.BirthDate;
            newStudent.IdEnrollment = student.IdEnrollment;

            response.Semester     = 1;
            response.IdEnrollment = student.IdEnrollment;
            response.IdStudy      = idstudies;
            response.StartDate    = DateTime.Now;
            return(response);
        }