示例#1
0
        public UsuarioDTO CrearUsuario(UsuarioRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            if (request.RequestUserInfo == null)
            {
                throw new ArgumentNullException(nameof(request.RequestUserInfo));
            }
            if (string.IsNullOrEmpty(request.UsuarioId))
            {
                throw new ArgumentNullException(nameof(request.UsuarioId));
            }
            if (string.IsNullOrEmpty(request.Nombre))
            {
                throw new ArgumentNullException(nameof(request.Nombre));
            }
            if (string.IsNullOrEmpty(request.Contrasenia))
            {
                throw new ArgumentNullException(nameof(request.Contrasenia));
            }

            var nuevoUsuario = _usuarioDomainService.CrearUsuario(request);

            if (nuevoUsuario == null)
            {
                return new UsuarioDTO {
                           ValidationErrorMessage = "Problemas al crear usuario"
                }
            }
            ;

            var transactioninfo = TransactionInfoHelper.CrearTransactionInfo(request.RequestUserInfo);

            _usuarioRepositorio.Add(nuevoUsuario);

            _usuarioRepositorio.UnitOfWork.Commit(transactioninfo);

            return(new UsuarioDTO
            {
                UsuarioId = nuevoUsuario.UsuarioId,
                Nombre = nuevoUsuario.Nombre
            });
        }