Exemplo n.º 1
0
        public async Task Create(UserDto userDto)
        {
            RegisteringUserDto registeringUserDto = new RegisteringUserDto
            {
                Id          = Guid.NewGuid(),
                Username    = userDto.Username,
                FirstName   = userDto.FirstName,
                LastName    = userDto.LastName,
                Email       = userDto.Email,
                Attributes  = new AttributesDto("OrganizationName", "OrganizationId"),
                Credentials = new[] { new CredentialDto(userDto.Password) }
            };

            User user = await idpUserManagement.CreateUser(registeringUserDto);

            user.FirstNameSetter(userDto.FirstName);
            user.LastnameSetter(userDto.LastName);
            user.NationalCodeSetter(userDto.NationalCode);
            user.CellphoneSetter(userDto.Cellphone);
            user.EmailSetter(userDto.Email);
            await userRepository.Add(user);

            await unitOfWork.CommitAsync();
        }
        public async Task <User> CreateUser(RegisteringUserDto user)
        {
            var request = new RestRequest(Method.POST);

            //request.AddHeader("Content-Type", "application/json");
            request.AddJsonBody(user);
            IRestResponse response = await Execute(request);

            switch (response.StatusCode)
            {
            case HttpStatusCode.Accepted:
            case HttpStatusCode.Created:
                return(await GetUserByUsername(user.Username));

            case HttpStatusCode.BadRequest:
                throw new BadDataException(response.StatusDescription);

            case HttpStatusCode.Conflict:
                throw new DuplicateException(response.StatusDescription);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }