Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
 public Boolean AddStudent(Student student)
 {
     if (!_context.Student.Contains(student))
     {
         _context.Student.Add(student);
         _context.SaveChanges();
         return(true);
     }
     else
     {
         return(false);
     }
 }