public void InsertGradeWithStrudent()
        {
            //Arrange
            var gradeModel = testContext.CrudFacadeSUT.InitializeNew();

            gradeModel.Name    = "Freshman";
            gradeModel.Section = "High school";

            var unitOfWork        = testContext.UnitOfWork;
            var studentCRUDFacade = new CrudFacade <StudentEntity, StudentListModel, StudentDetailModel>(unitOfWork,
                                                                                                         new RepositoryBase <StudentEntity>(unitOfWork), new StudentMapper());

            var studentModel = new StudentListModel
            {
                Name = "Tony"
            };

            gradeModel.Students = new List <StudentListModel>
            {
                studentModel
            };

            //Act
            var savedGradeModel = testContext.CrudFacadeSUT.Save(gradeModel);

            //Assert
            Assert.Equal(gradeModel, savedGradeModel, new GradeDetailModelEqualityComparer());
            Assert.Equal(studentModel, studentCRUDFacade.GetAllList().FirstOrDefault(s => s.Name == "Tony"), new StudentListModelEqualityComparer());
        }
Exemple #2
0
        public FacadeTestsSetupFixture(IMapper <TEntity, TListModel, TDetailModel> mapper)
        {
            var schoolDbContext = CreateSchoolDbContext();

            UnitOfWork = new UnitOfWork(schoolDbContext);
            var repository = new RepositoryBase <TEntity>(UnitOfWork);

            CrudFacadeSUT = new CrudFacade <TEntity, TListModel, TDetailModel>(UnitOfWork, repository, mapper);
        }
        public ViewModelLocator()
        {
            var unitOfWork        = new UnitOfWork(new SchoolDbContext());
            var studentRepository = new RepositoryBase <StudentEntity>(unitOfWork);
            var addressRepository = new RepositoryBase <AddressEntity>(unitOfWork);

            studentFacade =
                new CrudFacade <StudentEntity, StudentListModel, StudentDetailModel>(unitOfWork, studentRepository);
            addressFacade =
                new CrudFacade <AddressEntity, AddressListModel, AddressDetailModel>(unitOfWork, addressRepository);
        }
        public AddressViewModel(Messenger messenger,
                                CrudFacade <StudentEntity, StudentListModel, StudentDetailModel> studentFacade,
                                CrudFacade <AddressEntity, AddressListModel, AddressDetailModel> addressFacade)
        {
            this.messenger     = messenger;
            this.studentFacade = studentFacade;
            this.addressFacade = addressFacade;

            this.messenger.Register <SelectStudentMessage>(SelectedStudentMessageReceived);
            SaveStudentCommand = new RelayCommand(SaveStudent, CanStudentBeSaved);
        }
        public StudentViewModel(Messenger messenger,
                                CrudFacade <StudentEntity, StudentListModel, StudentDetailModel> studentFacade,
                                CrudFacade <AddressEntity, AddressListModel, AddressDetailModel> addressFacade)
        {
            this.messenger     = messenger;
            this.studentFacade = studentFacade;

            AddStudentCommand    = new RelayCommand(AddStudent);
            RemoveStudentCommand = new RelayCommand(DeleteStudent);
            SelectStudentCommand = new RelayCommand(SelectStudent);
            OnLoadCommand        = new RelayCommand(OnLoad);

            this.messenger.Register <NewStudentMessage>(NewStudentMessageReceived);
            this.messenger.Register <DeleteStudentMessage>(DeleteStudentMessageReceived);
            this.messenger.Register <UpdateStudentMessage>(UpdateStudentMessageReceived);
        }