コード例 #1
0
        public async Task <IOperationResult <bool> > Create(SystemUserCreateViewModel systemUserToCreate)
        {
            try
            {
                IOperationResult <bool> isValidSystemUserToCreateResult = ValidateUserToCreate(systemUserToCreate);

                if (!isValidSystemUserToCreateResult.Success)
                {
                    return(OperationResult <bool> .Fail(isValidSystemUserToCreateResult.Message));
                }

                systemUserToCreate.Password = _encrypService.EncrypText(systemUserToCreate.Password);

                SystemUser systemUser = _mapper.Map <SystemUser>(systemUserToCreate);

                _systemUserRepository.Create(systemUser);

                await _systemUserRepository.SaveAsync();

                await SendActivationEmail(systemUser);

                return(OperationResult <bool> .Ok(true));
            }
            catch
            {
                return(OperationResult <bool> .Fail("Ha ocurrido un error creando el usuario"));
            }
        }
コード例 #2
0
        public async Task CreateWhenSystemUserRepositorySaveThrowShouldReturnOperationResultFailed()
        {
            encrypService.EncrypText(Arg.Any <string>()).Returns("texto encriptado");

            systemUserRepository.When(systemUserRepository => systemUserRepository.SaveAsync()).Throw(new Exception());

            SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService);

            IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel);

            Assert.IsFalse(actual.Success);
            Assert.AreEqual("Ha ocurrido un error creando el usuario", actual.Message);
        }