Exemple #1
0
        public EnrollStudentResponse PromoteStudents(PromoteStudentRequest request)
        {
            var semestr = new SqlParameter("@Semester", SqlDbType.Int);

            semestr.Value = request.Semester;

            var name = new SqlParameter("@Name", SqlDbType.NVarChar);

            name.Value = request.Studies;

            var idEnrollment = new SqlParameter("@IdEnrollment", SqlDbType.Int);

            idEnrollment.Direction = ParameterDirection.Output;

            var idStudies = new SqlParameter("@IdStudies", SqlDbType.Int);

            idStudies.Direction = ParameterDirection.Output;

            var startDate = new SqlParameter("@StartDate", SqlDbType.DateTime);

            startDate.Direction = ParameterDirection.Output;

            var x = context.Database.ExecuteSqlRaw("PromoteStudents @Name, @Semester, @IdEnrollment OUT, @IdStudies OUT, @StartDate OUT", parameters: new[] { name, semestr, idEnrollment, idStudies, startDate });

            var response = new EnrollStudentResponse
            {
                IdEnrollment = (int)idEnrollment.Value,
                IdStudy      = (int)idStudies.Value,
                Semester     = request.Semester + 1,
                StartDate    = (DateTime)startDate.Value
            };

            return(response);
        }
Exemple #2
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            _service.EnrollStudent(request);
            var response = new EnrollStudentResponse();

            return(Created(new Uri("http://localhost:7408/"), response));
        }
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            Random rnd = new Random();

            var idStudy = rnd.Next(10, 1000);

            universityAPBDContext.Studies.Add(new Studies {
                IdStudy = idStudy,
                Name    = request.Studies
            });

            universityAPBDContext.Enrollment.Add(new Enrollment {
                IdEnrollment = rnd.Next(10, 1000),
                Semester     = 1,
                IdStudy      = idStudy,
                StartDate    = DateTime.Now
            });

            universityAPBDContext.Student.Add(new Student {
                IndexNumber = request.IndexNumber,
                FirstName   = request.FirstName,
                LastName    = request.LastName,
                BirthDate   = request.Birthdate,
            });

            universityAPBDContext.SaveChanges();

            var response = new EnrollStudentResponse();

            response.Semester = 1;
            response.LastName = request.LastName;
            return(response);
        }
Exemple #4
0
        public IActionResult EnrollStudent(EnrollStudentRequest req)
        {
            _dbService.EnrollStudent(req);
            var response = new EnrollStudentResponse();

            return(CreatedAtAction("EnrollStudent", response));
        }
Exemple #5
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var response = new EnrollStudentResponse();


            return(response);
        }
Exemple #6
0
        public IActionResult EnrollStudent(EnrollStudentRequest req)
        {
            EnrollStudentResponse erep = new EnrollStudentResponse();

            erep = iDB.EnrollStudent(req);
            return(Created("Added", erep));
        }
        public IActionResult EnrollStudent([FromBody] EnrollStudentRequest request, [FromServices] IStudentsDbService dbService)
        {
            Student studentToEnroll = new Student
            {
                IndexNumber = request.IndexNumber,
                LastName    = request.LastName,
                FirstName   = request.FirstName,
                BirthDate   = request.BirthDate
            };

            Enrollment tmp = dbService.EnrollStudent(studentToEnroll, request.Studies);

            if (tmp == null)
            {
                return(BadRequest());
            }

            EnrollStudentResponse response = new EnrollStudentResponse
            {
                Semester     = tmp.Semester,
                IdStudy      = tmp.IdStudy,
                StartDate    = tmp.StartDate,
                IdEnrollment = tmp.IdEnrollment
            };

            return(Ok(response));
        }
Exemple #8
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            _service.EnrollStudent(request);
            var response = new EnrollStudentResponse();

            return(Ok(response));
        }
Exemple #9
0
        public EnrollStudentResponse PromoteStudent(PromoteStudentRequest request)
        {
            using (var connection = new SqlConnection(connectionString))
                using (var command = new SqlCommand())
                {
                    command.Connection = connection;
                    connection.Open();

                    command.CommandText = "exec PromoteStudents @stud,@sem";
                    command.Parameters.AddWithValue("stud", request.Studies);
                    command.Parameters.AddWithValue("sem", request.Semester);

                    var read = command.ExecuteReader();
                    if (read.Read())
                    {
                        EnrollStudentResponse response = new EnrollStudentResponse
                        {
                            IdEnroll = (int)read["IdEnrollment"],
                            Semester = (int)read["Semester"],
                            Study    = (int)read["IdStudy"],
                            Date     = DateTime.Parse(read["StartDate"].ToString())
                        };
                        return(response);
                    }
                }
            throw new Exception("Exception");
        }
Exemple #10
0
        public IActionResult EnrollStudent(EnrollStudentRequest request, [FromServices] IEnrollDAL dbService)
        {
            //======ZADANIE 1===================

            //Pola wymagane z zapytania POST w tworzeniu EnrollStReq...-
            //błąd 400 zwracany automatycznie z adnotacji w klasie EnrollStudentReq...

            // Sprawdzenie, czy studia istnieją
            if (!dbService.StudiesExist(request.StudyName))
            {
                return(BadRequest("Studies do not exist in DB"));
            }

            // Sprawdz, czy studentId unikalne
            if (dbService.StudentIdNonUnique(request.IndexNumber))
            {
                return(BadRequest("Student Id not unique"));
            }

            // Dodaj studenta
            DateTime?enrollDate = dbService.EnrollStudent(request);

            if (enrollDate.Equals(null))
            {
                return(Unauthorized("Error when registering in DB - failed to enroll"));
            }
            // Nie wiem, jaki error tu dac. W sumie to nie jest Badrequest, bo to bylby blad polaczenia z baza

            //Wyslij obiekt EnrollmentResponse
            EnrollStudentResponse enroll = new EnrollStudentResponse(request.IndexNumber, request.LastName, 1, enrollDate.GetValueOrDefault());

            var result = new OkObjectResult(new { message = "201 OK", enroll });

            return(result);
        }
        public EnrollStudentResponse PromoteStudents(PromoteStudentRequest request)
        {
            using (var con = new SqlConnection("Data Source=db-mssql;Initial Catalog=s18830;Integrated Security=True"))
                using (var com = new SqlCommand())
                {
                    com.CommandType = CommandType.StoredProcedure;
                    com.Connection  = con;
                    con.Open();

                    com.CommandText = "PromoteStudents";

                    com.Parameters.AddWithValue("@Name", SqlDbType.NVarChar).Value = request.Studies;
                    com.Parameters.AddWithValue("@Semester", SqlDbType.Int).Value  = request.Semester;

                    com.Parameters.Add("@IdStudies", SqlDbType.Int).Direction      = ParameterDirection.Output;
                    com.Parameters.Add("@IdEnrollment", SqlDbType.Int).Direction   = ParameterDirection.Output;
                    com.Parameters.Add("@StartDate", SqlDbType.DateTime).Direction = ParameterDirection.Output;

                    com.ExecuteNonQuery();

                    var response = new EnrollStudentResponse
                    {
                        IdEnrollment = (int)com.Parameters["@IdEnrollment"].Value,
                        IdStudy      = (int)com.Parameters["@IdStudies"].Value,
                        Semester     = request.Semester + 1,
                        StartDate    = (DateTime)com.Parameters["@StartDate"].Value
                    };

                    return(response);
                }
        }
        public bool CheckIndex(string index)
        {
            string connstring =
                "Data Source=10.1.1.36,1433;Initial Catalog=s18588;User ID=apbds18588;Password=admin";
            var response = new EnrollStudentResponse();
            var cl       = new HttpClient();

            cl.BaseAddress = new Uri("http://*****:*****@id";
                    com.Parameters.AddWithValue("id", index);
                    var dr = com.ExecuteReader();
                    if (!dr.Read())
                    {
                        return(false);
                    }
                    else
                    {
                        return(true);
                    }
                }
        }
        /* public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
         * {
         *   var idStudy = -1;
         *   var nextIdEnrollment = -1;
         *
         *   var startDate = DateTime.Now;
         *   var semester = 1;
         *
         *   using (var connection = new SqlConnection(sqlConnecionStr))
         *   using (var command = new SqlCommand())
         *   {
         *       command.Connection = connection;
         *       connection.Open();
         *       var transaction = connection.BeginTransaction();
         *       command.Transaction = transaction;
         *
         *       try
         *       {
         *           //1. Check wether studies with given name exist
         *           command.CommandText = "SELECT IdStudy from Studies where Name = @name" + ";";
         *           command.Parameters.AddWithValue("@name", request.Studies);
         *           var dr = command.ExecuteReader();
         *           if (!dr.Read())
         *           {
         *               dr.Close();
         *               transaction.Rollback();
         *               throw new Exception("Studia o podanej nazwie nie istnieją!");
         *           }
         *           idStudy = (int)dr["IdStudy"];
         *           dr.Close();
         *
         *           //2. Check wether indexNumber is unique (it's a PK in Student)
         *           command.CommandText = "SELECT IndexNumber from Student where IndexNumber = @number" + ";";
         *           command.Parameters.AddWithValue("@number", request.IndexNumber);
         *           var dr2 = command.ExecuteReader();
         *           if (dr2.Read())
         *           {
         *               dr2.Close();
         *               transaction.Rollback();
         *               throw new Exception("Student o podanym nr indeksu juz istnieje!");
         *           }
         *           dr2.Close();
         *
         *
         *           //3. Check latest IdEnrollment
         *           command.CommandText = "SELECT Max(IdEnrollment) as max from Enrollment;";
         *           var dr3 = command.ExecuteReader();
         *           if (!dr3.Read())
         *           {
         *               dr3.Close();
         *               transaction.Rollback();
         *               throw new Exception("Problem with fetching id enrollemnt");
         *           }
         *           var maxIdEnrollment = (int)dr3["max"];
         *           nextIdEnrollment = ++maxIdEnrollment;
         *           dr3.Close();
         *
         *
         *           //4. Create new Enrollment for student
         *           command.CommandText = "INSERT INTO Enrollment (IdEnrollment, Semester, IdStudy, StartDate) "
         + "VALUES(@nextId, @semester, @idStudy, CAST(@date AS DATETIME));";
         +           command.Parameters.AddWithValue("@nextId", nextIdEnrollment);
         +           command.Parameters.AddWithValue("@semester", semester);
         +           command.Parameters.AddWithValue("@idStudy", idStudy);
         +           command.Parameters.AddWithValue("@date", startDate);
         +
         +           command.ExecuteNonQuery();
         +
         +           //5. Add student to Studyies
         +           command.CommandText = "INSERT INTO Student (IndexNumber, FirstName, LastName, BirthDate, IdEnrollment) "
         + "VALUES(@indexNumber, @studentFirstName, @studnetLastName, CAST(@bdate AS DATE), @idEnrollment)";
         +           command.Parameters.AddWithValue("@indexNumber", request.IndexNumber);
         +           command.Parameters.AddWithValue("@studentFirstName", request.FirstName);
         +           command.Parameters.AddWithValue("@studnetLastName", request.LastName);
         +           command.Parameters.AddWithValue("@bdate", request.BirthDate);
         +           command.Parameters.AddWithValue("@idEnrollment", nextIdEnrollment);
         +
         +           command.ExecuteNonQuery();
         +
         +           transaction.Commit();
         +       }
         +       catch (SqlException exc)
         +       {
         +           transaction.Rollback();
         +           Console.WriteLine(exc.Message);
         +           throw new Exception("SqlException " + exc.Message);
         +       }
         +   }
         +
         +   var response = new EnrollStudentResponse();
         +   response.IdEnrollment = nextIdEnrollment;
         +   response.Semester = semester;
         +   response.IdStudy = idStudy;
         +   response.StartDate = startDate;
         +
         +   return response;
         + }*/

        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var idStudy   = -1;
            var semester  = 1;
            var startDate = DateTime.Now;

            //1. Check wether studies with given name exist
            var studiesWithNameRetrived = _dbcontext.Studies.Where(s => s.Name.Equals(request.Studies)).FirstOrDefault();

            if (studiesWithNameRetrived == null)
            {
                throw new Exception("Studia o podanej nazwie nie istnieją!");
            }
            idStudy = studiesWithNameRetrived.IdStudy;

            //2. Check wether indexNumber is unique (it's a PK in Student)
            var studentWithNewIndexNumber = _dbcontext.Student.Where(s => s.IndexNumber.Equals(request.IndexNumber)).FirstOrDefault();

            if (studentWithNewIndexNumber != null)
            {
                throw new Exception("Student o podanym nr indeksu juz istnieje!");
            }

            //3. Check latest IdEnrollment
            var maxIdEnrollment  = _dbcontext.Enrollment.Max(e => e.IdEnrollment);
            var nextIdEnrollment = ++maxIdEnrollment;

            //4. Create new Enrollment for student
            var newEnrollemnt = new Enrollment();

            newEnrollemnt.IdEnrollment = nextIdEnrollment;
            newEnrollemnt.Semester     = 1;
            newEnrollemnt.IdStudy      = idStudy;
            newEnrollemnt.StartDate    = startDate;

            _dbcontext.Add(newEnrollemnt);
            _dbcontext.SaveChanges();

            //5. Add student to Studyies
            var newStudent = new Student();

            newStudent.IndexNumber  = request.IndexNumber;
            newStudent.FirstName    = request.FirstName;
            newStudent.LastName     = request.LastName;
            newStudent.BirthDate    = request.BirthDate;
            newStudent.IdEnrollment = nextIdEnrollment;

            _dbcontext.Add(newStudent);
            _dbcontext.SaveChanges();

            var response = new EnrollStudentResponse();

            response.IdEnrollment = nextIdEnrollment;
            response.Semester     = semester;
            response.IdStudy      = idStudy;
            response.StartDate    = startDate;

            return(response);
        }
Exemple #14
0
        public async Task <EnrollStudentResponse> EnrollStudent(EnrollStudentRequest req)
        {
            var studiesExist = _context.Studies.Any(e => e.Name == req.Studies);

            if (!studiesExist)
            {
                return(null);
            }
            else
            {
                var sList    = _context.Studies.Where(s => s.Name == req.Studies).ToList();
                var idStudy  = sList[0].IdStudy;
                int enrollId = 1;

                var enrollmentExist = _context.Enrollment.Any(e => e.IdStudy == idStudy && e.Semester == 1);

                if (enrollmentExist)
                {
                    var eList = _context.Enrollment.Where(e => e.IdStudy == idStudy && e.Semester == 1).ToList();
                    enrollId = eList[0].IdEnrollment;
                }
                else
                {
                    var enrollment = new Enrollment
                    {
                        Semester  = 1,
                        IdStudy   = idStudy,
                        StartDate = DateTime.Now
                    };

                    await _context.Enrollment.AddAsync(enrollment);

                    await _context.SaveChangesAsync();

                    var addStudent = new AddStudentRequest
                    {
                        IndexNumber  = req.IndexNumber,
                        FirstName    = req.FirstName,
                        LastName     = req.LastName,
                        BirthDate    = req.BirthDate,
                        IdEnrollment = enrollId
                    };

                    await AddStudent(addStudent);

                    var eStudentList = _context.Enrollment.Where(e => e.IdEnrollment == enrollId).ToList();

                    var resp = new EnrollStudentResponse
                    {
                        IdEnrollment = eStudentList[0].IdEnrollment,
                        IdStudy      = eStudentList[0].IdStudy,
                        Semester     = eStudentList[0].Semester,
                        StartDate    = eStudentList[0].StartDate,
                    };
                    return(resp);
                }
            }
            return(null);
        }
Exemple #15
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var response = new EnrollStudentResponse();

            response.setStatus(400, "Error");

            var _studies = _context.Studies.Where(p => p.Name == request.Studies).FirstOrDefault();

            if (_studies == null)
            {
                response.setStatus(400, "ERROR: Studies do not exist");
                return(response);
            }

            var _enrollment = _context.Enrollment.Where(e => e.IdStudy == _studies.IdStudy && e.Semester == 1).FirstOrDefault();

            if (_enrollment == null)
            {
                _enrollment = new Enrollment()
                {
                    IdEnrollment = _context.Enrollment.Max(p => p.IdEnrollment) + 1,
                    Semester     = 1,
                    IdStudy      = _studies.IdStudy,
                    StartDate    = DateTime.Now.Date
                };
                _context.Enrollment.Add(_enrollment);
                _context.SaveChanges();
            }

            var _student = _context.Student.Where(p => p.IndexNumber == request.IndexNumber).FirstOrDefault();

            if (_student == null)
            {
                DateTime dateValue;
                DateTime.TryParseExact(request.BirthDate, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue);

                _student = new Student
                {
                    IndexNumber  = request.IndexNumber,
                    FirstName    = request.FirstName,
                    LastName     = request.LastName,
                    BirthDate    = dateValue,
                    IdEnrollment = _enrollment.IdEnrollment
                };
                _context.Student.Add(_student);
                _context.SaveChanges();
                response.setStatus(201, "Student was enrolled");
            }
            else
            {
                response.setStatus(400, "Student exists in database");
            }
            response.LastName  = _student.LastName;
            response.Semester  = _enrollment.Semester;
            response.StartDate = _enrollment.StartDate.ToString();
            response.Studies   = request.Studies;

            return(response);
        }
Exemple #16
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var database = new s19041Context();
            var studies  = database.Studies.First(stud => stud.Name.Equals(request.Studies));

            if (studies.Equals(null))
            {
                throw new Exception("No such studies: " + request.Studies);
            }

            var student = database.Student.First(stud => stud.IndexNumber == request.IndexNumber);

            if (!student.Equals(null))
            {
                throw new Exception("Student " + request.IndexNumber + " already exists");
            }
            var enrollment = database.Enrollment.First(enroll => enroll.IdStudy == studies.IdStudy && enroll.Semester == 1);
            var newStudent = new GeneratedModels.Student
            {
                IndexNumber = request.IndexNumber,
                FirstName   = request.FirstName,
                LastName    = request.LastName,
                BirthDate   = request.BirthDate
            };
            var response = new EnrollStudentResponse();

            if (enrollment.Equals(null))
            {
                var newEnrollment = new GeneratedModels.Enrollment
                {
                    IdEnrollment      = database.Enrollment.Max(enroll => enroll.IdEnrollment),
                    Semester          = 1,
                    IdStudy           = studies.IdStudy,
                    StartDate         = DateTime.Now,
                    IdStudyNavigation = studies
                };
                database.Enrollment.Add(newEnrollment);
                newStudent.IdEnrollment           = newEnrollment.IdEnrollment;
                newStudent.IdEnrollmentNavigation = newEnrollment;
                response.IdEnrollment             = newEnrollment.IdEnrollment;
                response.Semester  = newEnrollment.Semester;
                response.IdStudy   = newEnrollment.IdStudy;
                response.StartDate = newEnrollment.StartDate;
            }
            else
            {
                newStudent.IdEnrollment           = enrollment.IdEnrollment;
                newStudent.IdEnrollmentNavigation = enrollment;
                response.IdEnrollment             = enrollment.IdEnrollment;
                response.Semester  = enrollment.Semester;
                response.IdStudy   = enrollment.IdStudy;
                response.StartDate = enrollment.StartDate;
            }

            database.Add(newStudent);
            database.SaveChanges();
            return(response);
        }
Exemple #17
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var response = new EnrollStudentResponse();

            response.setStatus(400, "Unknown Error"); // domyślnie - błąd

            var _studies = _context.Studies.Where(p => p.Name == request.Studies).FirstOrDefault();

            if (_studies == null)
            {
                response.setStatus(400, "ERROR: Nie istnieją studia przekazane przez klienta");
                return(response);
            }

            var _enrollment = _context.Enrollment.Where(e => e.IdStudy == _studies.IdStudy && e.Semester == 1).FirstOrDefault();

            if (_enrollment == null)
            {
                _enrollment = new Enrollment()
                {
                    IdEnrollment = _context.Enrollment.Max(p => p.IdEnrollment) + 1,
                    Semester     = 1,
                    IdStudy      = _studies.IdStudy,
                    StartDate    = DateTime.Now.Date
                };
                _context.Enrollment.Add(_enrollment);
                _context.SaveChanges();
            }

            var _student = _context.Student.Where(p => p.IndexNumber == request.IndexNumber).FirstOrDefault();

            if (_student == null)
            {
                DateTime dateValue;
                DateTime.TryParseExact(request.BirthDate, "dd.MM.yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue);

                _student = new Student {
                    IndexNumber  = request.IndexNumber,
                    FirstName    = request.FirstName,
                    LastName     = request.LastName,
                    BirthDate    = dateValue,
                    IdEnrollment = _enrollment.IdEnrollment
                };
                _context.Student.Add(_student);
                _context.SaveChanges();
                response.setStatus(201, "Student został poprawnie zapisany na semestr"); // student został poprawnie zapisany na semestr
            }
            else
            {
                response.setStatus(400, "Taki student już istnieje");
            }
            response.LastName  = _student.LastName;
            response.Semester  = _enrollment.Semester;
            response.StartDate = _enrollment.StartDate.ToString();
            response.Studies   = request.Studies;

            return(response);
        }
Exemple #18
0
        public async Task <IActionResult> EnrollStudent(EnrollStudentRequest request)
        {
            if (ModelState.IsValid == false)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);

                return(BadRequest(allErrors));
            }

            Studies studies = await Context.Studies.FirstOrDefaultAsync(stud => stud.Name == request.Studies);

            if (studies == null)
            {
                return(NotFound("Studia nie istnieją"));
            }

            Enrollment enrollment = await Context.Enrollment.FirstOrDefaultAsync(en => en.IdStudy == studies.IdStudy && en.Semester == 1);

            if (enrollment == null)
            {
                enrollment = new Enrollment {
                    Semester = 1, IdStudy = studies.IdStudy, StartDate = DateTime.Now
                };
                Context.Add(enrollment);
            }

            Student student = await Context.Student.FirstOrDefaultAsync(s => s.IndexNumber == request.IndexNumber);

            if (studies != null)
            {
                return(BadRequest("Student o takim indeksie już istnieje w bazie danych."));
            }
            student = new Student
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.Birthdate,
                IdEnrollment = enrollment.IdEnrollment
            };
            Context.Add(student);

            if (await Context.SaveChangesAsync() == 0)
            {
                return(StatusCode(500, "Błąd podczas zapisu danych do bazy."));
            }
            EnrollStudentResponse result = new EnrollStudentResponse
            {
                IndexNumber = student.IndexNumber,
                FirstName   = student.FirstName,
                LastName    = student.LastName,
                Semester    = enrollment.Semester,
                StartDate   = enrollment.StartDate,
            };

            return(StatusCode(201, result));
        }
Exemple #19
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            _service.EnrollStudent(request);
            var response = new EnrollStudentResponse();

            response.LastName = request.LastName;

            return(Created("http://localhost:5001/api/students?indexNumber=" + request.IndexNumber, response));
        }
Exemple #20
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            //czy index jest unikalny
            if (db.Student.Any(s => s.IndexNumber.Equals(request.IndexNumber)))
            {
                return(BadRequest("Student " + request.IndexNumber + " już istnieje"));
            }

            //czy studia istnieją
            if (!db.Studies.Any(s => s.Name.Equals(request.Studies)))
            {
                return(BadRequest("Studia " + request.Studies + " nie istnieją"));
            }

            //czy istnieje wpis dla studiow, z semestrem 1

            var        studies    = db.Studies.Where(s => s.Name.Equals(request.Studies)).First();
            Enrollment enrollment = null;

            if (!db.Enrollment.Any(e => e.Semester == 1 && e.IdStudy == studies.IdStudy))
            {
                enrollment = new Enrollment();
                enrollment.IdEnrollment = db.Enrollment.Max(e => e.IdEnrollment) + 1;
                enrollment.Semester     = 1;
                enrollment.IdStudy      = studies.IdStudy;
                enrollment.StartDate    = DateTime.Now;

                db.Enrollment.Add(enrollment);
            }
            else
            {
                enrollment = db.Enrollment.Where(e => e.Semester == 1 && e.IdStudy == studies.IdStudy).First();
            }

            //zapisanie studenta

            var student = new Student();

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

            var response = new EnrollStudentResponse();

            response.IndexNumber = request.IndexNumber;
            response.FirstName   = request.FirstName;
            response.LastName    = request.LastName;
            response.Studies     = request.Studies;
            response.Semester    = 1;

            db.Student.Add(student);
            db.SaveChanges();

            return(Created("Zapisano studenta", response));
        }
        public IActionResult EnrollStudent(EnrollStudentRequest req)
        {
            _service.EnrollStudent(req);
            var response = new EnrollStudentResponse();

            response.LastName  = req.LastName;
            response.Semester  = 1;
            response.StartDate = DateTime.Now;
            return(CreatedAtAction("EnrollStudent", response));
        }
Exemple #22
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            EnrollStudentResponse enrollStudentResponse = _db.EnrollStudent(request);

            if (enrollStudentResponse == null)
            {
                return(BadRequest());
            }
            return(this.StatusCode(201, enrollStudentResponse));
        }
Exemple #23
0
        public IActionResult EnrollStudent(EnrollStudentRequest request)
        {
            _service.EnrollStudent(request);
            var response = new EnrollStudentResponse();

            //response.LastName = st.LastName;
            //...

            return(Ok(response));
        }
Exemple #24
0
        public async Task <ActionResult <Enrollment> > EnrollStudent(EnrollStudentRequest request)
        {
            var response = new EnrollStudentResponse();
            var studyId  = await _context.Studies
                           .Where(s => s.Name == request.Studies)
                           .Select(study => study.IdStudy)
                           .FirstOrDefaultAsync();

            try
            {
                if (studyId.Equals(null))
                {
                    return(BadRequest("Zadane studia nie istnieją."));
                }

                int enrollmentId         = 0;
                var existingEnrollmentId = await _context.Enrollment
                                           .Where(enrollment => (enrollment.IdStudy == studyId) && (enrollment.Semester == 1))
                                           .Select(enrollment => enrollment.IdEnrollment)
                                           .FirstOrDefaultAsync();

                if (existingEnrollmentId.Equals(null))
                {
                    var id = await _context.Enrollment
                             .OrderByDescending(e => e.IdEnrollment)
                             .Select(e => e.IdEnrollment)
                             .FirstOrDefaultAsync();

                    var enrollment = new Enrollment
                    {
                        StartDate    = DateTime.Now.Date,
                        IdEnrollment = ++id,
                        IdStudy      = studyId,
                        Semester     = 1
                    };

                    await _context.Enrollment.AddAsync(enrollment);

                    await _context.SaveChangesAsync();
                }
                else
                {
                    enrollmentId = existingEnrollmentId;
                }

                response.Semester  = 1;
                response.StartDate = DateTime.Now.Date;
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }

            return(Ok(response));
        }
Exemple #25
0
        public IEnumerable <EnrollStudentResponse> EnrollStudent(EnrollStudentRequest request)
        {
            var list = new List <EnrollStudentResponse>();

            using (SqlConnection con = new SqlConnection(ConString))
                using (SqlCommand com = new SqlCommand())
                {
                    com.Connection = con;

                    con.Open();
                    var tran = con.BeginTransaction();
                    com.Transaction = tran;

                    try
                    {
                        com.CommandText = "SELECT IdStudy from Studies WHERE Name=IT";
                        com.Parameters.AddWithValue("StudiesName", request.StudiesName);
                        com.ExecuteNonQuery();
                        SqlDataReader exr = com.ExecuteReader();

                        var st = new Student();
                        var rs = new EnrollStudentResponse();
                        if (!exr.Read())
                        {
                            tran.Rollback();
                        }
                        String studiesname = exr["StudiesName"].ToString();
                        if (studiesname.Equals("IT"))
                        {
                            com.CommandText = "INSERT INTO Student(IndexNumber,FirstName,LastName,BirthDate) VALUES(@IndexNumber,@FirstName,@LastName,@BirthDate)";
                            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.ExecuteNonQuery();

                            tran.Commit();
                            rs.IndexNumber = request.IndexNumber;
                            rs.FirstName   = request.FirstName;
                            rs.LastName    = request.LastName;
                            rs.BirthDate   = request.BirthDate;
                            list.Add(rs);
                        }
                    }
                    catch (SqlException exc)
                    {
                        tran.Rollback();
                    }
                    con.Close();
                }



            return(list);
        }
Exemple #26
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            var db = new s18985Context();
            EnrollStudentResponse response = new EnrollStudentResponse();

            var s = db.Student.Where(x => x.IndexNumber == request.IndexNumber).FirstOrDefault();

            if (s != null)
            {
                return(null);
            }

            var t = db.Studies.Where(x => x.Name == request.Studies).Select(x => x.IdStudy).FirstOrDefault();
            int e = db.Enrollment.Where(x => x.IdStudy == t && x.Semester == 1).Select(x => x.IdEnrollment).FirstOrDefault();
            int f;

            if (e == 0)
            {
                var max    = (db.Enrollment.Max(x => x.IdEnrollment)) + 1;
                var enroll = new Enrollment
                {
                    IdEnrollment = max,
                    Semester     = 1,
                    IdStudy      = t,
                    StartDate    = DateTime.Now
                };
                db.Enrollment.Add(enroll);
                f = max;
            }
            else
            {
                f = e;
            }

            var stud = new Student
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.BirthDate,
                IdEnrollment = f
            };

            db.Student.Add(stud);
            db.SaveChanges();

            response.IndexNumber  = stud.IndexNumber;
            response.IdEnrollment = stud.IdEnrollment;
            response.Semester     = 1;
            response.Studies      = request.Studies;
            response.StartDate    = DateTime.Now;

            return(response);
        }
Exemple #27
0
        public EnrollStudentResponse EnrollStudent(EnrollStudentRequest request)
        {
            EnrollStudentResponse response = new EnrollStudentResponse();



            var studies = _dbContext.Studies
                          .Where(s => s.Name.Equals(request.Studies))
                          .Single();
            var enrollment = _dbContext.Enrollment
                             .Where(e => e.IdStudy == studies.IdStudy && e.Semester == 1)
                             .SingleOrDefault();


            int idEnrollment;

            if (enrollment == null)
            {
                idEnrollment = _dbContext.Enrollment.Count();
                var e = new Enrollment
                {
                    IdEnrollment = idEnrollment,
                    Semester     = 1,
                    IdStudy      = studies.IdStudy,
                    StartDate    = DateTime.Now
                };

                _dbContext.Enrollment.Add(e);
                _dbContext.SaveChanges();
            }
            else
            {
                idEnrollment = enrollment.IdEnrollment;
            }

            var student = new Student
            {
                IndexNumber  = request.indexNumber,
                FirstName    = request.firstName,
                LastName     = request.lastName,
                BirthDate    = request.birthDate,
                IdEnrollment = idEnrollment
            };

            _dbContext.Student.Add(student);
            _dbContext.SaveChanges();
            response = new EnrollStudentResponse
            {
                lastName  = student.LastName,
                semester  = enrollment.Semester,
                startDate = enrollment.StartDate.Value
            };
            return(response);
        }
Exemple #28
0
        public async Task <IActionResult> EnrollStudentAsync(EnrollStudentRequest request)
        {
            EnrollStudentResponse enrollStudentResponse = await _dbService.EnrollStudentAsync(request);

            if (enrollStudentResponse == null)
            {
                return(BadRequest());
            }

            return(this.StatusCode(201, enrollStudentResponse));
        }
Exemple #29
0
        public IActionResult PromoteStudents(String Studies, int Semester)
        {
            _service.PromoteStudents(Studies, Semester);
            var response = new EnrollStudentResponse()
            {
                Studies  = Studies,
                semester = ++Semester
            };

            return(CreatedAtAction(nameof(EnrollStudent), response));
        }
        public IActionResult EnrollPromotions(EnrollPromotionsRequest request)
        {
            EnrollStudentResponse response = null;

            try {
                response = _service.EnrollPromotions(request);
            } catch (SqlException e) {
                return(NotFound(e.Message));
            }
            return(Created(nameof(response), response));
        }