示例#1
0
        public InsertStudentResponse InsertStudent(InsertStudentRequest request)
        {
            var exists = _studentContext.Student.Any(s => s.IndexNumber.Equals(request.IndexNumber));

            if (exists)
            {
                return(null);
            }

            var student = new Student()
            {
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.BirthDate,
                IndexNumber  = request.IndexNumber,
                IdEnrollment = request.IdEnrollment,
                Password     = request.Password,
                PSalt        = request.Salt,
                RefreshToken = request.RefreshToekn
            };

            _studentContext.Add(student);
            _studentContext.SaveChanges();

            return(new InsertStudentResponse
            {
                IndexNumber = student.IndexNumber,
                LastName = student.LastName
            });
        }
示例#2
0
        public async Task <EnrollmentStudentResponse> EnrollStudentAsync(EnrollmentStudenRequest request)
        {
            var studiesExists = _studentContext.Studies.Any(s => s.Name == request.Studies);

            if (!studiesExists)
            {
                return(null);
            }
            var studiesList      = _studentContext.Studies.Where(s => s.Name == request.Studies).ToList();
            int idStudy          = studiesList[0].IdStudy;
            int enrollmentID     = 1;
            var enrollmentExists = _studentContext.Enrollment.Any(e => e.IdStudy == idStudy && e.Semester == 1);

            if (enrollmentExists)
            {
                var enrollmentsList = _studentContext.Enrollment.Where(e => e.IdStudy == idStudy && e.Semester == 1).ToList();
                enrollmentID = enrollmentsList[0].IdEnrollment;
            }
            else
            {
                var m = new Enrollment
                {
                    Semester  = 1,
                    IdStudy   = idStudy,
                    StartDate = DateTime.Now
                };
                _studentContext.Enrollment.Add(e);
                _studentContext.SaveChanges();
                enrollmentID = m.IdEnrollment;
            }
            var exists = _studentContext.Student.Any(s => s.IndexNumber == request.IndexNumber);

            if (exists)
            {
                return(null);
            }
            var isq = new InsertStudentRequest
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.BirthDate,
                IdEnrollment = enrollmentID,
                Password     = request.Password
            };

            await AddStudentAsync(isq);

            var enrollStudentList = _studentContext.Enrollment.Where(e => e.IdEnrollment == enrollmentID).ToList();
            var esr = new EnrollmentStudentResponse
            {
                IdEnrollment = enrollStudentList[0].IdEnrollment,
                IdStudy      = enrollStudentList[0].IdStudy,
                Semester     = enrollStudentList[0].Semester,
                StartDate    = enrollStudentList[0].StartDate
            };

            return(esr);
        }
        public IActionResult InsertStudent(InsertStudentRequest request)
        {
            var response = studentsServiceDb.InsertStudent(request);

            if (response == null)
            {
                return(BadRequest("Such student has already exists in db"));
            }
            return(Ok(response));
        }
示例#4
0
        public async Task <IActionResult> InsertStudentAsync(InsertStudentRequest isq)
        {
            int i = 0;

            i = await _db.AddStudentAsync(isq);

            if (i == -1)
            {
                return(BadRequest());
            }
            return(Ok("Student inserted"));
        }
示例#5
0
 public IActionResult InsertStudent(InsertStudentRequest request)
 {
     try
     {
         var student = _service.InsertStudent(request);
         return(Created("InsertStudent", student));
     }
     catch (StudiesNotFound ex1)
     {
         return(NotFound(ex1.Message));
     }
     catch (StudentAlreadyExists ex2)
     {
         return(BadRequest(ex2.Message));
     }
 }
示例#6
0
        public InsertStudentResponse InsertStudent(InsertStudentRequest request)
        {
            var study = _context.Studies.FirstOrDefault(s => s.Name == request.Studies);

            if (study == null)
            {
                throw new StudiesNotFound();
            }
            var enrollment = _context.Enrollment.Where(enr => enr.IdStudy == study.IdStudy && enr.Semester == 1).FirstOrDefault();

            if (enrollment == null)
            {
                enrollment = new Enrollment()
                {
                    IdEnrollment = _context.Enrollment.Max(enr => enr.IdEnrollment) + 1,
                    Semester     = 1,
                    IdStudy      = study.IdStudy,
                    StartDate    = DateTime.Now
                };
                _context.Enrollment.Add(enrollment);
            }

            if (_context.Student.FirstOrDefault(s => s.IndexNumber == request.IndexNumber) != null)
            {
                throw new StudentAlreadyExists();
            }
            var student = new Student()
            {
                IndexNumber  = request.IndexNumber,
                BirthDate    = request.BirthDate,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                IdEnrollment = enrollment.IdEnrollment
            };

            _context.Student.Add(student);

            var response = new InsertStudentResponse()
            {
                Semester  = enrollment.Semester,
                StartDate = enrollment.StartDate
            };

            _context.SaveChanges();

            return(response);
        }
        public InsertStudentResponse InsertStudent(InsertStudentRequest request)
        {
            var student = new Student()
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = DateTime.ParseExact(request.BirthDate, "dd.MM.yyyy", null),
                Password     = request.Password,
                IdEnrollment = Convert.ToInt32(request.IdEnrollment)
            };

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

            return(new InsertStudentResponse()
            {
                IndexNumber = request.IndexNumber,
                LastName = request.LastName
            });
        }
示例#8
0
        public async Task <int> AddStudentAsync(InsertStudentRequest isq)
        {
            try
            {
                var st = new Student
                {
                    IndexNumber  = isq.IndexNumber,
                    FirstName    = isq.FirstName,
                    LastName     = isq.LastName,
                    BirthDate    = isq.BirthDate,
                    IdEnrollment = isq.IdEnrollment,
                    Password     = isq.Password
                };
                _studentContext.Student.Add(st);
                await _studentContext.SaveChangesAsync();

                return(0);
            }
            catch (SqlException ex)
            {
                return(-1);
            }
        }
        public EnrollmentResponse EnrollStudent(EnrollmentRequest enrollmentRequest)
        {
            var studyId       = GetStudyId(enrollmentRequest.Studies);
            var enrollmentId  = GetEnrollmentId(1, studyId);
            var insertRequest = new InsertStudentRequest()
            {
                IndexNumber  = enrollmentRequest.IndexNumber,
                FirstName    = enrollmentRequest.FirstName,
                LastName     = enrollmentRequest.LastName,
                BirthDate    = enrollmentRequest.BirthDate,
                Password     = enrollmentRequest.Password,
                IdEnrollment = enrollmentId.ToString()
            };

            _studentDb.InsertStudent(insertRequest);

            EnrollmentResponse response = new EnrollmentResponse()
            {
                LastName = enrollmentRequest.LastName,
                Semester = 1
            };

            return(response);
        }