Пример #1
0
        public async Task <AdministratorDto> CreateAdmin(CreateWorkerModel model)
        {
            new WorkerValidator().ValidateAndThrow(model);
            new PasswordValidator().ValidateAndThrow(model);

            var user = new ApplicationUser
            {
                UserName  = model.UserName,
                FirstName = model.FirstName,
                LastName  = model.LastName,
                Email     = model.Email,
                Address   = model.Address,
                Gender    = model.GenderEnum.Value
            };

            var result = await userManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException(result.Errors.First().Description);
            }

            await userManager.AddToRoleAsync(user, "administrator");

            return(mapper.Map <AdministratorDto>(user));
        }
Пример #2
0
        private async Task <ApplicationUser> CreateWorker(CreateWorkerModel model)
        {
            new WorkerValidator().ValidateAndThrow(model);
            new PasswordValidator().ValidateAndThrow(model);

            var callerCompanyId = userAccessor.CompanyId;

            if (callerCompanyId == null)
            {
                throw new InvalidOperationException("Only an assigned administrator can make changes");
            }

            var user = new ApplicationUser
            {
                UserName  = model.UserName,
                FirstName = model.FirstName,
                LastName  = model.LastName,
                Email     = model.Email,
                Address   = model.Address,
                CompanyId = callerCompanyId,
                Gender    = model.GenderEnum.Value
            };

            var result = await userManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException(result.Errors.First().Description);
            }

            return(user);
        }
Пример #3
0
        public async Task <EmployeeDto> CreateEmployee(CreateWorkerModel model)
        {
            var user = await CreateWorker(model);

            await userManager.AddToRoleAsync(user, "employee");

            return(mapper.Map <EmployeeDto>(user));
        }
Пример #4
0
        public WorkerModel Insert(CreateWorkerModel userModel)
        {
            var user = userModel.ConvertToUserEntity();

            _notificationContext.AddNotifications(user.Notifications);

            if (_notificationContext.Invalid)
            {
                return(default);
 public void CanCreateWorker()
 {
     var dao = new Mock<IDao<Worker>>();
     var entityFactory = new Mock<IEntityFactory>();
     entityFactory.Setup(ent => ent.Create<Worker>()).Returns(new Worker()).AtMostOnce();
     var createWorkerModel = new CreateWorkerModel(dao.Object, entityFactory.Object, new Mock<IEntityValidator>().Object);
     var worker = createWorkerModel.CreateWorker();
     entityFactory.Verify(ent => ent.Create<Worker>());
 }
 public void CanCancelWorker()
 {
     var dao = new Mock<IDao<Worker>>();
     var entityFactory = new Mock<IEntityFactory>();
     var worker = new Worker();
     dao.Setup(rep => rep.Refresh(It.IsAny<Worker>())).AtMostOnce();
     var createWorkerModel = new CreateWorkerModel(dao.Object, entityFactory.Object,
                                                   new Mock<IEntityValidator>().Object);
     createWorkerModel.CancelWorker(worker);
     dao.Verify(daoworker => daoworker.Refresh(worker));
 }
        public void SaveWorkerShouldDoesntWorkIfWorkerInvalid()
        {
            var repository = new Mock<IDao<Worker>>();
            var entityValidator = new Mock<IEntityValidator>();
            var entityFactory = new Mock<IEntityFactory>();

            var worker = new Worker();

            entityValidator.Setup(ev => ev.IsValid(worker)).Returns(false);

            var albumManagerModel = new CreateWorkerModel(repository.Object,
                                                          entityFactory.Object,
                                                          entityValidator.Object);

            albumManagerModel.SaveWorker(worker);

            entityValidator.Verify(ev => ev.IsValid(worker));
        }
Пример #8
0
 public void GivenTheWorkersData(Table table) =>
 _createWorkerModel = table.CreateInstance <CreateWorkerModel>();
 public static Worker ConvertToUserEntity(this CreateWorkerModel userModel) =>
 new Worker(0, userModel.Name, userModel.BirthDate, userModel.Cpf, userModel.Password);
Пример #10
0
 public async Task <ActionResult <EmployeeDto> > CreateEmployee([FromBody] CreateWorkerModel model)
 {
     return(Ok(await userService.CreateEmployee(model)));
 }
Пример #11
0
 public async Task <ActionResult <AdministratorDto> > CreateAdmin([FromBody] CreateWorkerModel model)
 {
     return(Ok(await userService.CreateAdmin(model)));
 }
        public void SaveWorkerShouldWork()
        {
            var repository = new Mock<IDao<Worker>>();
            var entityValidator = new Mock<IEntityValidator>();
            var entityFactory = new Mock<IEntityFactory>();
            var worker = new Worker();

            entityValidator.Setup(ev => ev.IsValid(worker)).Returns(true);
            repository.Setup(rep => rep.Save(It.IsAny<Worker>())).AtMostOnce();

            var albumManagerModel = new CreateWorkerModel(repository.Object,
                                                          entityFactory.Object,
                                                          entityValidator.Object);

            albumManagerModel.SaveWorker(worker);

            entityValidator.Verify(ev => ev.IsValid(worker));
            repository.Verify(rep => rep.Save(worker));
        }
Пример #13
0
 public static Worker ConverterToUserEntity(this CreateWorkerModel userModel) =>
 new Worker(0, userModel.Name, userModel.BirthDate, userModel.Nin, userModel.Girlfriend);