private TaxPayer AddTaxPayerDatabaseRecord(int?accountRef = null, string firstname = null, string lastname = null)
        {
            var databaseEntity = TestHelper.CreateDatabaseTaxPayerEntity(accountRef, firstname, lastname);

            AcademyContext.TaxPayers.Add(databaseEntity);
            AcademyContext.SaveChanges();
            return(databaseEntity);
        }
 public void Update(int bookingID, int courseId, string bookingDate)
 {
     using (var db = new AcademyContext())
     {
         SelectedBooking = db.Bookings.Where(b => b.BookingID == bookingID).FirstOrDefault();
         db.SaveChanges();
     }
 }
示例#3
0
 public Cursos(AcademyContext context)
 {
     InitializeComponent();
     _comisionLogic = new ComisionLogic(new ComisionAdapter(context));
     _materiaLogic  = new MateriaLogic(new MateriaAdapter(context));
     _cursoLogic    = new CursoLogic(new CursoAdapter(context));
     _context       = context;
 }
 public void SetSelectedBooking(int selectedItem)
 {
     using (var db = new AcademyContext())
     {
         SelectedBooking = db.Bookings.Where(b => b.BookingID == selectedItem).FirstOrDefault();
         db.SaveChanges();
     }
 }
        private Claim AddClaimToDatabase(int?claimId)
        {
            var claimEntity = TestHelper.CreateDatabaseClaimEntity(claimId);

            AcademyContext.Claims.Add(claimEntity);
            AcademyContext.SaveChanges();
            return(claimEntity);
        }
示例#6
0
        public List <Course> GetMyCourses(int userID)
        {
            AcademyContext ac     = new AcademyContext();
            var            result = from c in ac.Courses.Where(cr => cr.Users.Any(u => u.ID == userID))
                                    select c;

            return(result.ToList());
        }
        public void EnrollStudentShouldCorrectlyEnrollIfValidParams()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "EnrollStudentShouldCorrectlyEnrollIfValidParams")
                                 .Options;

            var studentName = "pesho007";
            var courseName  = "SoftSkills";

            var adminRole = new Role {
                Id = 1, Name = "Administrator"
            };
            var teacherRole = new Role {
                Id = 2, Name = "Teacher"
            };
            var studentRole = new Role {
                Id = 3, Name = "Student"
            };

            var course = new Course
            {
                CourseId = 1,
                Name     = courseName
            };

            var user = new User
            {
                UserName = studentName,
                RoleId   = 3,
                Role     = studentRole,
                Id       = 1
            };

            var userServiceStub = new Mock <IUserService>();

            using (var actContext = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(actContext);
                dataHandler.Courses.Add(course);
                dataHandler.Users.Add(user);
                dataHandler.Roles.Add(adminRole);
                dataHandler.Roles.Add(teacherRole);
                dataHandler.Roles.Add(studentRole);
                dataHandler.SaveChanges();

                var sut = new CourseService(dataHandler, userServiceStub.Object);
                sut.EnrollStudent(studentName, courseName);
            }

            using (var assertContext = new AcademyContext(contextOptions))
            {
                var dataHandler   = new DataHandler(assertContext);
                var userRetrieved = dataHandler.Users.All().Include(us => us.EnrolledStudents).FirstOrDefault(us => us.UserName == studentName);

                Assert.IsTrue(userRetrieved.EnrolledStudents.Count() == 1);
            }
        }
        private Address AddAddressToDatabase(int?claimId, int?houseId, string address = null, string postcode = null,
                                             string toDate = "2099-12-31 00:00:00.0000000")
        {
            var addressEntity = TestHelper.CreateDatabaseAddressForPersonId(claimId, houseId, postcode, address, toDate);

            AcademyContext.Addresses.Add(addressEntity);
            AcademyContext.SaveChanges();
            return(addressEntity);
        }
        public void RetrieveCourseNamesShouldReturnCorrectCoursesForTeacher()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "RetrieveCourseNamesShouldReturnCorrectCoursesForTeacher")
                                 .Options;

            var teacherName = "Pesho";

            var user = new User
            {
                Id       = 1,
                UserName = teacherName,
                RoleId   = 2
            };


            var courseEnrolled = new Course
            {
                CourseId         = 1,
                Name             = "C# Alpha",
                EnrolledStudents = new List <EnrolledStudent>
                {
                    new EnrolledStudent
                    {
                        CourseId  = 1,
                        StudentId = 1
                    }
                },
                Teacher = user
            };

            var courseNotEnrolled = new Course
            {
                CourseId = 2,
                Name     = "C++ Alpha",
                Teacher  = new User {
                    Id = 2
                }
            };

            var userServiceStub = new Mock <IUserService>();

            using (var arrangeContext = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(arrangeContext);
                dataHandler.Courses.Add(courseEnrolled);
                dataHandler.Courses.Add(courseNotEnrolled);
                dataHandler.Users.Add(user);
                dataHandler.SaveChanges();

                var sut = new CourseService(dataHandler, userServiceStub.Object);

                var courses = sut.RetrieveCourseNames(user.RoleId, user.UserName);
                Assert.IsTrue(courses.Count == 1);
                Assert.IsTrue(courses.Any(co => co.CourseName == "C# Alpha"));
            }
        }
示例#10
0
 public RegistrarNotas(AcademyContext context)
 {
     InitializeComponent();
     _alumnoInscripcionLogic = new AlumnoInscripcionLogic(new AlumnoInscripcionAdapter(context));
     _docenteCursoLogic      = new DocenteCursoLogic(new DocenteCursoAdapter(context));
     _cursoLogic             = new CursoLogic(new CursoAdapter(context));
     _personaLogic           = new PersonaLogic(new PersonaAdapter(context));
     _context = context;
 }
        public static TaxPayerInformationResponse AddTaxPayerWithRelatesEntitiesToDb(AcademyContext context,
                                                                                     int?accountRef  = null, string firstname    = null, string lastname = null,
                                                                                     string postcode = null, string addressLines = null)
        {
            var person = TestHelper.CreateDatabaseTaxPayerEntity(accountRef, firstname, lastname);

            person.AccountRef = accountRef ?? person.AccountRef;

            person.FirstName = firstname ?? person.FirstName;
            person.LastName  = lastname ?? person.LastName;

            context.TaxPayers.Add(person);
            context.SaveChanges();

            var occupation = TestHelper.CreateDatabaseOccupationEntityForCouncilProperty(person.AccountRef);

            context.Occupations.Add(occupation);
            context.SaveChanges();

            var property = TestHelper.CreateDatabasePropertyForTaxPayer(occupation.PropertyRef, addressLines, postcode);

            context.CouncilProperties.Add(property);
            context.SaveChanges();

            var email = TestHelper.CreateDatabaseEmailAddressForTaxPayer(person.AccountRef);

            context.Emails.Add(email);
            context.SaveChanges();

            var phoneNumber = TestHelper.CreateDatabasePhoneNumbersForTaxPayer(person.AccountRef);

            context.PhoneNumbers.Add(phoneNumber);
            context.SaveChanges();

            return(new TaxPayerInformationResponse()
            {
                AccountRef = person.AccountRef,
                FirstName = person.FirstName,
                LastName = person.LastName,
                EmailList = new List <string> {
                    email.EmailAddress
                },
                PhoneNumberList = new List <string> {
                    phoneNumber.Number1, phoneNumber.Number2, phoneNumber.Number3, phoneNumber.Number4
                },
                TaxPayerAddress = new Address
                {
                    AddressLine1 = property.AddressLine1,
                    AddressLine2 = property.AddressLine2,
                    AddressLine3 = property.AddressLine3,
                    AddressLine4 = property.AddressLine4,
                    Postcode = property.PostCode
                },
                UPRN = property.Uprn
            });
        }
        public void RetrieveStudentGradesShouldThrowWhenUserNotAssaignedToCourse()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "RetrieveStudentGradesShouldThrowWhenUserNotAssaignedToCourse")
                                 .Options;

            var username   = "******";
            var courseName = "Python";
            var course     = new Course
            {
                CourseId = 1,
                Teacher  = new User {
                    UserName = "******", RoleId = 2, Id = 2
                },
                TeacherId = 2,
                Name      = courseName
            };

            var notSearchedCourse = new Course
            {
                CourseId = 2,
                Teacher  = new User {
                    UserName = "******", RoleId = 2, Id = 3
                },
                TeacherId = 2,
                Name      = "CSSBasics"
            };

            var student = new User
            {
                UserName         = username,
                Id               = 1,
                RoleId           = 3,
                EnrolledStudents = new List <EnrolledStudent>
                {
                    new EnrolledStudent
                    {
                        CourseId  = 2,
                        Course    = notSearchedCourse,
                        StudentId = 1
                    }
                }
            };

            var userServiceStub = new Mock <IUserService>();

            using (var assertContext = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(assertContext);
                dataHandler.Users.Add(student);
                dataHandler.SaveChanges();

                var sut = new CourseService(dataHandler, userServiceStub.Object);
                Assert.ThrowsException <NotEnrolledInCourseException>(() => sut.RetrieveGrades(username, courseName));
            }
        }
示例#13
0
        public void EvaluateStudentShouldThrowWhenTeacherIsDifferentThanPassed()
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "EvaluateStudentShouldThrowWhenTeacherIsDifferentThanPassed")
                                 .Options;

            //Setup roles for the in-memory database
            var adminRole = new Role {
                Id = 1, Name = "Administrator"
            };
            var teacherRole = new Role {
                Id = 2, Name = "Teacher"
            };
            var studentRole = new Role {
                Id = 3, Name = "Student"
            };

            var studentName = "pesho007";
            var teacherName = "teacher2";

            var student = new User {
                UserName = studentName, Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 3, RegisteredOn = DateTime.Now, Id = 1, Role = studentRole
            };
            var teacher = new User {
                UserName = "******", Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 2, RegisteredOn = DateTime.Now, Id = 2, Role = studentRole
            };
            var invalidTeacher = new User {
                UserName = teacherName, Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 2, RegisteredOn = DateTime.Now, Id = 3, Role = studentRole
            };
            var assaignment = new Assaignment {
                Course = new Course {
                    Teacher = teacher
                }, Id = 1
            };

            //Act + Assert
            using (var context = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(context);

                dataHandler.Roles.Add(adminRole);
                dataHandler.Roles.Add(teacherRole);
                dataHandler.Roles.Add(studentRole);
                dataHandler.Users.Add(student);
                dataHandler.Users.Add(teacher);
                dataHandler.Users.Add(invalidTeacher);
                dataHandler.Assaignments.Add((assaignment));
                dataHandler.SaveChanges();

                var sut = new UserService(dataHandler);

                Assert.ThrowsException <ArgumentException>(
                    () => sut.EvaluateStudent(studentName, 1, 80, teacherName));
            }
        }
 public void Update(int cId, string cName, double cPrice)
 {
     using (var db = new AcademyContext())
     {
         SelectedCourse             = db.Courses.Where(c => c.CourseID == cId).FirstOrDefault();
         SelectedCourse.CourseName  = cName;
         SelectedCourse.CoursePrice = cPrice;
         db.SaveChanges();
     }
 }
        public void BaseSetup()
        {
            AcademyContext = new AcademyContext(_builder.Options);
            AcademyContext.Database.EnsureCreated();

            _factory = new MockWebApplicationFactory <TStartup>(_connection);
            Client   = _factory.CreateClient();

            _transaction = AcademyContext.Database.BeginTransaction();
        }
示例#16
0
        public void WhenCreateBookingMethodIsCalledBookingCountIncreasesByOne()
        {
            using (var db = new AcademyContext())
            {
                var bookingTotalBeforeAdding = db.Bookings.Count();
                _bookingManager.Create(2, 5, "01/05/2021");
                var bookingTotalAfterAdd = db.Bookings.Count();

                Assert.AreEqual(bookingTotalBeforeAdding + 1, bookingTotalAfterAdd);
            }
        }
        public void WhenCreateMethodIsCalledStudentCountIncreasesByOne()
        {
            using (var db = new AcademyContext())
            {
                var numberOfStudentsBeforeAdding = db.Students.Count();
                _studentManager.Create("Baray", "Nallu", "*****@*****.**");
                var numberOfStudentsAfterAdd = db.Students.Count();

                Assert.AreEqual(numberOfStudentsBeforeAdding + 1, numberOfStudentsAfterAdd);
            }
        }
        public void CanGetADatabaseEntity()
        {
            var databaseEntity = TestHelper.CreateDatabaseClaimantEntity();

            AcademyContext.Add(databaseEntity);
            AcademyContext.SaveChanges();

            var result = AcademyContext.Persons.ToList().FirstOrDefault();

            Assert.AreEqual(result, databaseEntity);
        }
        public void WhenRegisteredWithTheSameEmailAddressSystemThrowsAnError()
        {
            using (var db = new AcademyContext())
            {
                _studentManager.Create("Baray", "Nallu", "*****@*****.**");

                bool expected = true;
                bool results  = _studentManager.CheckDuplicateRecords("*****@*****.**");

                Assert.AreEqual(expected, results);
            }
        }
示例#20
0
        public void WhenAStudentSelectsAnotherBookingForTheSameDateSystemReturnsTrue()
        {
            using (var db = new AcademyContext())
            {
                _bookingManager.Create(2, 5, "01/05/2021");

                bool results  = _bookingManager.DuplicateBookingRecord(2, "01/05/2021");
                bool expected = true;

                Assert.AreEqual(expected, results);
            }
        }
        public void Delete(int courseID)
        {
            using (var db = new AcademyContext())
            {
                var courseDeleteQuery = db.Courses.Include(course => course.Bookings);


                SelectedCourse = db.Courses.Find(courseID);
                db.Remove(SelectedCourse);
                db.SaveChanges();
            }
        }
示例#22
0
 public UsuarioDesktop(ModoForm modo, AcademyContext context) : this(context)
 {
     // Este constructor es cuando doy de alta un nuevo usuario
     Modos = modo;
     // Creo el nuevo usuario acá para después poder asignarle el ID de persona
     UsuarioActual = new Usuario();
     // Está todo deshabilitado hasta que cargues un legajo que coincida con una persona
     this.txtUsuario.ReadOnly        = true;
     this.chkHabilitado.Enabled      = false;
     this.txtClave.ReadOnly          = true;
     this.txtConfirmarClave.ReadOnly = true;
 }
示例#23
0
        public void RetrieveUsersShouldReturnCorrectNumberOfUsers()
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "RetrieveUsersShouldReturnCorrectNumberOfUsers")
                                 .Options;


            //Setup roles for the in-memory database
            var adminRole = new Role {
                Id = 1, Name = "Administrator"
            };
            var teacherRole = new Role {
                Id = 2, Name = "Teacher"
            };
            var studentRole = new Role {
                Id = 3, Name = "Student"
            };

            var user = new User {
                UserName = "******", Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 2, RegisteredOn = DateTime.Now, Id = 1, Role = studentRole
            };
            var user2 = new User {
                UserName = "******", Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 2, RegisteredOn = DateTime.Now, Id = 2, Role = studentRole
            };
            var user3 = new User {
                UserName = "******", Deleted = false, FullName = "Gosho Peshov", Password = "******", RoleId = 2, RegisteredOn = DateTime.Now, Id = 3, Role = studentRole
            };

            //Act + Assert
            using (var context = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(context);

                dataHandler.Roles.Add(adminRole);
                dataHandler.Roles.Add(teacherRole);
                dataHandler.Roles.Add(studentRole);

                dataHandler.Users.Add(user);
                dataHandler.Users.Add(user2);
                dataHandler.Users.Add(user3);

                dataHandler.SaveChanges();

                var sut = new UserService(dataHandler);


                var usersRetrieved = sut.RetrieveUsers(2);

                Assert.AreEqual(3, usersRetrieved.Count);
            }
        }
示例#24
0
 public EspecialidadDesktop(int ID, ModoForm modo, AcademyContext context) : this(context)
 {
     Modos = modo;
     try
     {
         EspecialidadActual = _especialidadLogic.GetOne(ID);
         MapearDeDatos();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "Especialidad", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public void Create(string cName, double cPrice)
        {
            var newCourse = new Course()
            {
                CourseName = cName, CoursePrice = cPrice
            };

            using (var db = new AcademyContext())
            {
                db.Courses.Add(newCourse);
                db.SaveChanges();
            }
        }
        public List <Course> RetreiveCourseDate()
        {
            using (var db = new AcademyContext())
            {
                var courseQuery =
                    from c in db.Courses
                    orderby c.CourseID
                    select c;

                var query = db.Courses.FromSqlRaw(courseQuery.ToQueryString()).ToList();
                return(query);
            }
        }
        private CouncilProperty AddPropertyInformationForTaxPayer(int accountRef, string address = null, string postcode = null)
        {
            var occupationDetails = TestHelper.CreateDatabaseOccupationEntityForCouncilProperty(accountRef);

            AcademyContext.Occupations.Add(occupationDetails);
            AcademyContext.SaveChanges();

            var propertyEntity = TestHelper.CreateDatabasePropertyForTaxPayer(occupationDetails.PropertyRef, address, postcode);

            AcademyContext.CouncilProperties.Add(propertyEntity);
            AcademyContext.SaveChanges();
            return(propertyEntity);
        }
示例#28
0
 public AlumnoInscripcionDesktop(int ID, ModoForm modo, AcademyContext context) : this(context)
 {
     Modos = modo;
     try
     {
         AlumnoInscripcionActual = _alumnoInscripcionLogic.GetOne(ID);
         MapearDeDatos();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "Inscripción", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#29
0
 public ModuloDesktop(int ID, ModoForm modo, AcademyContext context) : this(context)
 {
     Modos = modo;
     try
     {
         ModuloActual = _moduloLogic.GetOne(ID);
         MapearDeDatos();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "Modulo", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public void CreateCourseShouldThrowIfInvalidUserPermissions()
        {
            var contextOptions = new DbContextOptionsBuilder <AcademyContext>()
                                 .UseInMemoryDatabase(databaseName: "CreateCourseShouldThrowIfInvalidUserPermissions")
                                 .Options;

            //Setup roles for the in-memory database
            var adminRole = new Role {
                Id = 1, Name = "Administrator"
            };
            var teacherRole = new Role {
                Id = 2, Name = "Teacher"
            };
            var studentRole = new Role {
                Id = 3, Name = "Student"
            };
            var teacherName = "pesho007";

            var user = new User
            {
                UserName     = teacherName,
                Deleted      = false,
                FullName     = "Gosho Peshov",
                Password     = "******",
                RoleId       = 3,
                RegisteredOn = DateTime.Now,
                Id           = 1,
                Role         = studentRole
            };

            var userServiceStub = new Mock <IUserService>();

            userServiceStub.Setup(us => us.RetrieveUser(teacherName)).Returns(user);

            using (var context = new AcademyContext(contextOptions))
            {
                var dataHandler = new DataHandler(context);

                dataHandler.Roles.Add(adminRole);
                dataHandler.Roles.Add(teacherRole);
                dataHandler.Roles.Add(studentRole);
                dataHandler.Users.Add(user);

                dataHandler.SaveChanges();

                var sut = new CourseService(dataHandler, userServiceStub.Object);

                Assert.ThrowsException <ArgumentOutOfRangeException>(() =>
                                                                     sut.AddCourse(teacherName, DateTime.MinValue, DateTime.MaxValue, "coursname"));
            }
        }