Пример #1
0
        public Student GetStudent(string index)
        {
            var db       = new apbdContext();
            var students = db.Student.Find(index);

            return(students);
        }
Пример #2
0
        public Student UpdateStudent(Student student)
        {
            if (String.IsNullOrWhiteSpace(student.IndexNumber))
            {
                throw new InvalidArgumentException("Nie podano numeru indexu studenta do zmiany");
            }
            var db = new apbdContext();

            db.Attach(student);

            if (student.FirstName != null && student.FirstName.Trim().Length > 0)
            {
                db.Entry(student).Property("FirstName").IsModified = true;
            }

            if (student.LastName != null && student.LastName.Trim().Length > 0)
            {
                db.Entry(student).Property("LastName").IsModified = true;
            }

            if (student.BirthDate != null)
            {
                db.Entry(student).Property("BirthDate").IsModified = true;
            }

            db.SaveChanges();

            return(GetStudent(student.IndexNumber));
        }
Пример #3
0
        public IEnumerable <Student> GetStudents()
        {
            var db       = new apbdContext();
            var students = db.Student.ToList();

            return(students);
        }
Пример #4
0
        public Enrollment PromoteStudents(StudentsPromotion promotion)
        {
            var db  = new apbdContext();
            var res = db.Enrollment.FromSqlRaw("EXECUTE PromoteStudents {0}, {1}", promotion.Studies, promotion.Semester).AsEnumerable().First();

            return(res);
        }
Пример #5
0
        public void DeleteStudent(string index)
        {
            var db = new apbdContext();
            var s  = new Student
            {
                IndexNumber = index
            };

            db.Attach(s);
            db.Remove(s);
            db.SaveChanges();
        }
Пример #6
0
        public Enrollment EnrollStudentToStudies(StudentEnrollment enrollments)
        {
            if (!IsValidEnrollments(enrollments))
            {
                throw new InvalidArgumentException("Brakujące dane wejściowe");
            }

            var db = new apbdContext();

            var salt = PasswordService.CreateSalt();
            var s    = new Student
            {
                FirstName   = enrollments.FirstName,
                LastName    = enrollments.LastName,
                BirthDate   = enrollments.BirthDate,
                IndexNumber = enrollments.IndexNumber,
                Salt        = salt,
                Password    = PasswordService.Create(enrollments.Password, salt)
            };
            var st = db.Studies.Where(s => s.Name == enrollments.Studies).Single();

            Enrollment en;

            en = db.Enrollment.Where(en => en.IdStudy == st.IdStudy && en.Semester == 1).Single();
            if (en == null)
            {
                var newEnrollment = new Enrollment
                {
                    Semester  = 1,
                    IdStudy   = st.IdStudy,
                    StartDate = new DateTime()
                };
                db.Enrollment.Add(newEnrollment);
                db.SaveChanges();
                en = newEnrollment;
            }
            s.IdEnrollmentNavigation = en;
            db.Student.Add(s);
            db.SaveChanges();
            return(en);
        }
Пример #7
0
 public MsqlDbService(apbdContext context)
 {
     _students  = new List <Student>();
     _dbcontext = context;
 }
Пример #8
0
 public SqlServerStudentDbService(IConfiguration configuration, apbdContext context)
 {
     Configuration = configuration;
     _dbcontext    = context;
 }
Пример #9
0
 public MockDbService(apbdContext studentContext)
 {
     _studentContext = studentContext;
 }