Exemplo n.º 1
0
        public async void Create()
        {
            var mock  = new ServiceMockFacade <IPasswordRepository>();
            var model = new ApiPasswordRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Password>())).Returns(Task.FromResult(new Password()));
            var service = new PasswordService(mock.LoggerMock.Object,
                                              mock.RepositoryMock.Object,
                                              mock.ModelValidatorMockFactory.PasswordModelValidatorMock.Object,
                                              mock.BOLMapperMockFactory.BOLPasswordMapperMock,
                                              mock.DALMapperMockFactory.DALPasswordMapperMock);

            CreateResponse <ApiPasswordResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.PasswordModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiPasswordRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Password>()));
        }
Exemplo n.º 2
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);
        }