Example #1
0
        public ActionResult Create(UsersCreateViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var request = new CreateUserRequest
                {
                    User = new UserDto
                    {
                        UserName = model.Email,
                        FirstName = model.FirstName.Trim(),
                        LastName = model.LastName.Trim(),
                        Email = model.Email
                    }
                };

                var response = this.userService.CreateUser(request);

                if (response.Status == StatusCode.OK)
                {
                    this.TempData["SuccessMessage"] = string.Format("You have successfully added '{0} {1}'.", request.User.FirstName, request.User.LastName);
                    return this.RedirectToAction("Index");
                }
                else if (response.Status == StatusCode.BadRequest)
                {
                    this.ModelState.AddModelError(string.Empty, $"Your account was not created for the following reason: {this.GetErrorMessage(response.CreateAccountStatus)}");
                }
                else
                {
                    this.ModelState.AddModelError(string.Empty, Resources.ErrorMessages.InternalServerError);
                }
            }

            return View(model);
        }
Example #2
0
        public async Task<HttpResponseMessage> Create([FromBody] UserDto User)
        {
            var request = new CreateUserRequest()
            {
                User = User
            };

            UserDto registeredUser = await _mediator.ExecuteAsync(request).ConfigureAwait(false);
            return Request.CreateResponse(HttpStatusCode.Created, new { Id = registeredUser.Id, rating = registeredUser.Rating });
        }
Example #3
0
        public CreateUserResponse CreateUser(CreateUserRequest request)
        {
            CreateUserResponse response = new CreateUserResponse();

            AuthToken authToken = null;

            try
            {
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.AuthToken, "Auth Token");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.AntiForgeryToken, "Anti Forgery Token");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.FirstName, "First Name");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.LastName, "Last Name");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.Username, "User Name");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.EmailAddress, "Email Address");
                Common.Helpers.ValidationHelper.ValidateRequiredField(request.Password, "Password");

                Common.Helpers.ValidationHelper.ValidateUsername(request.Username);

                Common.Helpers.ValidationHelper.ValidateStringLength(request.FirstName, "First Name", Constants.MaxNameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.LastName, "Last Name", Constants.MaxNameLength);
                Common.Helpers.ValidationHelper.ValidateMinStringLength(request.Username, "User Name", Constants.MinUsernameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.Username, "User Name", Constants.MaxUsernameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.EmailAddress, "Email Address", Constants.MaxUsernameLength);
                Common.Helpers.ValidationHelper.ValidateStringLength(request.Password, "Password", Constants.MaxPasswordLength);

                Common.Helpers.ValidationHelper.ValidateEmailAddress(request.EmailAddress);
                ValidationHelper.ValidatePassword(request.Password);

                if (!UserController.ValidateSession(request.AuthToken, out authToken))
                {
                    throw new AuthenticationException("Authentication failed.");
                }

                UserController.ValidateAntiForgeryToken(request.AntiForgeryToken, authToken);

                UserController.CreateUser(request.Username, request.Password, request.EmailAddress, request.FirstName, request.LastName, authToken, false);
            }
            catch (AuthenticationException ex)
            {
                throw new WebFaultException<string>(ex.Message, System.Net.HttpStatusCode.BadRequest);
            }
            catch (Common.Exceptions.ValidationException ex)
            {
                throw new WebFaultException<string>(ex.Message, System.Net.HttpStatusCode.BadRequest);
            }
            catch (Exception ex)
            {
                ExceptionHelper.Log(ex, authToken == null ? null : authToken.Username);
                throw new WebFaultException<string>("An unknown error has occurred.", System.Net.HttpStatusCode.InternalServerError);
            }

            return response;
        }
Example #4
0
        public void TestCreateUserRequest()
        {
            string json = @"{
  ""guid"": ""guid-9ca6119b-7311-48fa-96f8-6ab604dca950""
}";

            CreateUserRequest request = new CreateUserRequest();

            request.Guid = "guid-9ca6119b-7311-48fa-96f8-6ab604dca950";
            string result = JsonConvert.SerializeObject(request, Formatting.None);
            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Example #5
0
        public static async Task<HttpResponseMessage> Register(string user, string password, string fullName)
        {
            using (var client = new HttpClient())
            {
                var uri = UriHelper.GetUri("users");
                var data = new CreateUserRequest()
                {
                    UserName = user,
                    Password = password,
                    FullName = fullName
                };
                var content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");

                return await client.PostAsync(uri, content);
            }
        }
Example #6
0
        public ActionResult CreateUser(CreateUserRequest req)
        {
            CreateUserResponse response = new CreateUserResponse();
            UserModel          model    = new UserModel()
            {
                name         = req.Name,
                City         = req.City,
                IsActive     = true,
                CreatedDate  = DateTime.Now,
                ModifiedDate = DateTime.Now
            };
            var res = model.CreateUser(model, dbFactory);

            response.city      = req.City;
            response.name      = req.Name;
            response.id        = res;
            response.IsSuccess = true;
            return(Json(response));
        }
Example #7
0
        public override Task <CreateUserResponse> CreateUser(CreateUserRequest request, ServerCallContext context)
        {
            var user = new User
            {
                Uuid        = Guid.NewGuid().ToString(),
                Name        = request.Name,
                Email       = request.Email,
                PhoneNumber = request.PhoneNumber
            };

            usersList.Add(user);

            var response = new CreateUserResponse
            {
                User = user
            };

            return(Task.FromResult(response));
        }
Example #8
0
        public async Task Then_The_Command_Handled_And_Created_Returned(
            Guid id,
            CreateUserRequest request,
            [Frozen] Mock <IMediator> mediator,
            [Greedy] UsersController controller)
        {
            var actual = await controller.CreateUser(id, request) as CreatedResult;

            mediator.Verify(x =>
                            x.Send(It.Is <CreateUserCommand>(c =>
                                                             c.Email.Equals(request.Email) &&
                                                             c.Id.Equals(id) &&
                                                             c.FirstName.Equals(request.FirstName) &&
                                                             c.LastName.Equals(request.LastName) &&
                                                             c.Password.Equals(request.Password) &&
                                                             c.ConfirmationEmailLink.Equals(request.ConfirmationEmailLink)
                                                             ), CancellationToken.None), Times.Once);
            actual.StatusCode.Should().Be((int)HttpStatusCode.Created);
        }
Example #9
0
        public async Task ShouldCreateUser()
        {
            var createUserRequest = new CreateUserRequest
            {
                Email    = "*****@*****.**",
                Name     = "Caio Eduardo Ragazzi Gemignani",
                Password = "******"
            };

            var command = new CreateUserCommand(createUserRequest);

            var result = await SendAsync(command);

            result.Data.Email.Should().BeOfType(typeof(string));
            result.Data.Email.Should().Be(createUserRequest.Email);
            result.Data.Id.Should().NotBeEmpty();
            result.Data.Name.Should().BeOfType(typeof(string));
            result.Data.Name.Should().Be(createUserRequest.Name);
        }
Example #10
0
        public async Task ShoudlReturnUserAlreadyExistsError()
        {
            var createUserRequest = new CreateUserRequest
            {
                Email    = "*****@*****.**",
                Name     = "Caio Eduardo Ragazzi Gemignani",
                Password = "******"
            };
            var command = new CreateUserCommand(createUserRequest);

            await SendAsync(command);

            var result = await SendAsync(command);

            result.Errors.Should().NotBe(null);
            result.Errors.data.Should().Contain("Already exists");
            result.IsOk.Should().BeFalse();
            result.Data.Should().BeNull();
        }
        public async Task <User> Add(CreateUserRequest CreateUserRequest)
        {
            var user = mapper.Map <CreateUserRequest, User>(CreateUserRequest);

            user.IsActive = true;
            user.LastPasswordChangedDate = DateTime.UtcNow;
            user.CreateDate = DateTime.UtcNow;

            try
            {
                await context.User.AddAsync(user);

                await context.SaveChangesAsync();

                foreach (var userUserRole in CreateUserRequest.UserRoles)
                {
                    user.UserUserRole.Add(new UserUserRole()
                    {
                        UserId     = user.Id,
                        UserRoleId = userUserRole.UserRoleId
                    });
                }

                foreach (var userFields in CreateUserRequest.UserFields)
                {
                    user.UserField.Add(new UserField()
                    {
                        FieldTypeName = userFields.FieldTypeName,
                        FieldData     = userFields.FieldData
                    });
                }

                context.User.Update(user);
                await context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                // TODO: log
                throw ex;
            }

            return(user);
        }
Example #12
0
        public async Task CreateUserCommand_DoesNot_create_user_when_email_exists_in_users_db()
        {
            //Arrange
            var request = new CreateUserRequest {
                Name = "test", Email = "*****@*****.**", Salary = 2000, Expenses = 2000
            };
            var response = new CreateUserResponse();

            using (var db = MockDbContext())
            {
                db.Users.RemoveRange(db.Users);
                db.SaveChanges();

                var command = new CreateUserCommand(request);
                var handler = new CreateUserCommandHandler(db);

                //Act
                response = await handler.Handle(command, CancellationToken.None);
            }

            //Assert
            response.Status.Should().Contain("Success");
            response.Id.Should().NotBeEmpty();

            //Arrange 2
            request = new CreateUserRequest {
                Name = "new user", Email = "*****@*****.**", Salary = 3000, Expenses = 500
            };
            response = new CreateUserResponse();

            using (var db = MockDbContext())
            {
                var command = new CreateUserCommand(request);
                var handler = new CreateUserCommandHandler(db);

                //Act
                response = await handler.Handle(command, CancellationToken.None);
            }

            //Assert
            response.Status.Should().Contain("User cannot be created");
            response.Id.Should().BeEmpty();
        }
Example #13
0
        public async Task <bool> CreateUser(CreateUserRequest request)
        {
            var isExist = await _userRepository.GetUserByMailAsync(request.Email);

            if (isExist != null)
            {
                _logger.LogInformation("Girilen mail ile kayıt zaten mevcut");
                throw new ApiException(new Error
                {
                    Message = "Bu e-mail hesabı ile kayıtlı bir kullanıcı sistemde mevcut"
                });
            }

            var passTuple = PassHasherGenerator.HashPassword(request.Password, null);
            var newUser   = new User(request, passTuple);
            await _userRepository.Create(newUser);

            return(true);
        }
        public async Task <UserModel> CreateAsync(CreateUserRequest request, CancellationToken token)
        {
            UserDbModel user = new UserDbModel
            {
                UserName         = request.UserName,
                PasswordHash     = request.Password,
                FirstName        = request.FirstName,
                LastName         = request.LastName,
                PhoneNumber      = request.Phone,
                Email            = request.Email,
                Photo            = request.Photo,
                CreationDate     = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                ModificationDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
            };

            var result = await _repository.CreateAsync(user);

            return(user.ConvertTo <UserModel>());
        }
Example #15
0
        public async Task <ActionResult> ConfirmEmail(string Token, string Email)
        {
            ApplicationUser user = this.UserManager.FindById(Token);

            if (user != null)
            {
                if (user.Email == Email)
                {
                    user.EmailConfirmed = true;

                    await UserManager.UpdateAsync(user);

                    // Solo se crea el registro en la tabla de usuarios de la aplicación
                    // cuando el email fue confirmado.
                    var userService = new UserService();

                    var request = new CreateUserRequest
                    {
                        User = new User
                        {
                            Name         = user.UserName,
                            AspNetUserId = user.Id,
                            Email        = user.Email
                        }
                    };

                    var response = userService.CreateUser(request);

                    UserManager.AddToRole(user.Id, RoleTypes.User.ToString());

                    return(View());
                }
                else
                {
                    return(RedirectToAction("Confirm", "Account", new { Email = user.Email }));
                }
            }
            else
            {
                return(RedirectToAction("Confirm", "Account", new { Email = "" }));
            }
        }
        public ActionResult Register(Register model)
        {
            if (ModelState.IsValid)
            {
                //Create user request
                string connection     = ConfigurationManager.AppSettings["InternalAPIURL"];
                var    appAccessToken = WebUtils.GetVaultSecret("AppConnectionKey");

                CreateUserRequest request = new CreateUserRequest(connection, appAccessToken);
                request.Email     = model.Email;
                request.FirstName = model.FirstName;
                request.LastName  = model.LastName;
                request.Nicknane  = model.Nicknane;
                request.Password  = model.password1;

                CreateUserResponse response = request.Send();

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    TempData["Success"] = "You have successfully registered an account. You can now sign in below.";
                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
                    {
                        //TODO: Parse the actual response error
                        TempData["Errors"] = "Bad request";
                    }
                    else
                    {
                        TempData["Errors"] = "There was an error processing your request. Please try again.";
                    }

                    return(View(model));
                }
            }
            else
            {
                return(View(model));
            }
        }
Example #17
0
        public ManagerResponse <CreateUserResult, CommerceUser> RegisterUser(RegisterUserInputModel inputModel)
        {
            Assert.ArgumentNotNull(inputModel, nameof(inputModel));
            Assert.ArgumentNotNullOrEmpty(inputModel.UserName, nameof(inputModel.UserName));
            Assert.ArgumentNotNullOrEmpty(inputModel.Password, nameof(inputModel.Password));
            if (StorefrontContext.Current == null)
            {
                throw new InvalidOperationException("Cannot be called without a valid storefront context.");
            }

            CreateUserResult result;

            // Attempt to register the user
            try
            {
                var request = new CreateUserRequest(inputModel.UserName, inputModel.Password, inputModel.UserName, StorefrontContext.Current.ShopName);
                result = CustomerServiceProvider.CreateUser(request);
                result.WriteToSitecoreLog();

                if (result.Success && result.CommerceUser == null && !result.SystemMessages.Any())
                {
                    // Connect bug:  This is a work around to a Connect bug.  When the user already exists,connect simply aborts the pipeline but
                    // does not set the success flag nor does it return an error message.
                    result.Success = false;
                    result.SystemMessages.Add(new SystemMessage
                    {
                        Message = DictionaryPhraseRepository.Current.Get("/System Messages/Accounts/User Already Exists", "User name already exists. Please enter a different user name.")
                    });
                }
            }
            catch (MembershipCreateUserException e)
            {
                result = new CreateUserResult {
                    Success = false
                };
                result.SystemMessages.Add(new SystemMessage {
                    Message = ErrorCodeToString(e.StatusCode)
                });
            }

            return(new ManagerResponse <CreateUserResult, CommerceUser>(result, result.CommerceUser));
        }
        public async Task <IActionResult> CreateUser(CreateUserRequest request)
        {
            var result = new CreateUserRequestValidation().Validate(request);

            if (!result.IsValid)
            {
                foreach (var failure in result.Errors)
                {
                    ModelState.AddModelError(failure.PropertyName, failure.ErrorMessage);
                }

                var errors = ModelState.Values.SelectMany(v => v.Errors.Select(b => b.ErrorMessage)).ToList();
                _telemetryClient.TrackTrace(new TraceTelemetry(
                                                $"CreateUserRequest validation failed: {string.Join(Separator, errors)}",
                                                SeverityLevel.Error));
                return(BadRequest(ModelState));
            }

            try
            {
                var adUserAccount =
                    await _userAccountService.CreateUserAsync(request.FirstName, request.LastName,
                                                              request.RecoveryEmail, request.IsTestUser);

                var response = new NewUserResponse
                {
                    UserId          = adUserAccount.UserId,
                    Username        = adUserAccount.Username,
                    OneTimePassword = adUserAccount.OneTimePassword
                };
                return(CreatedAtRoute("GetUserByAdUserId", new { userId = adUserAccount.UserId }, response));
            }
            catch (UserExistsException e)
            {
                return(new ConflictObjectResult(new
                {
                    Message = "User already exists",
                    Code = "UserExists",
                    e.Username
                }));
            }
        }
        public async Task <IActionResult> CreateAsync(CreateUserRequest request)
        {
            if (request == null)
            {
                return(BadRequest());
            }

            // AutoMap the request into a new IdentityUser
            var identityUser = Mapper.Map <IdentityUser>(request);

            IdentityResult identityResult;

            try
            { identityResult = await UserManager.CreateAsync(identityUser, request.Password); }
            catch (Exception ex)
            {
                var errorMessage = Utils.Write(UserCreatedFailedTemplate, identityUser.NormalizedUserName);
                Log.Logger.Error(ex, errorMessage);
                return(BadRequest(errorMessage));
            }

            if (identityResult.Succeeded)
            {
                var logMessage = Utils.Write(UserCreatedTemplate, identityUser.NormalizedUserName);
                Log.Logger.Information(logMessage);
                return(Ok(logMessage));
            }
            else
            {
                var errorMessage = Utils.Write(UserCreatedFailedTemplate, identityUser.NormalizedUserName);
                var badRequest   = BadRequest(errorMessage);

                // Add additional details to internal logging - but not to the BadRequest message.
                for (int i = 0; i < identityResult.Errors.Count(); i++)
                {
                    errorMessage += string.Format(UserCreatedAdditionalErrorTemplate, i, identityResult.Errors.ElementAt(i).Description);
                }

                Log.Logger.Error(errorMessage);
                return(badRequest);
            }
        }
Example #20
0
        public async Task ShouldCreateUserProfile()
        {
            string hdid   = "1234567890123456789012345678901234567890123456789012";
            string token  = "Fake Access Token";
            string userId = "1001";

            UserProfile userProfile = new UserProfile
            {
                HdId = hdid,
                AcceptedTermsOfService = true
            };

            CreateUserRequest createUserRequest = new CreateUserRequest
            {
                Profile = userProfile
            };

            RequestResult <UserProfileModel> expected = new RequestResult <UserProfileModel>
            {
                ResourcePayload = UserProfileModel.CreateFromDbModel(userProfile),
                ResultStatus    = Common.Constants.ResultType.Success
            };

            Mock <IHttpContextAccessor> httpContextAccessorMock = CreateValidHttpContext(token, userId, hdid);

            Mock <IUserProfileService> userProfileServiceMock = new Mock <IUserProfileService>();

            userProfileServiceMock.Setup(s => s.CreateUserProfile(createUserRequest, It.IsAny <Uri>(), It.IsAny <string>())).Returns(expected);
            Mock <IUserEmailService> emailServiceMock = new Mock <IUserEmailService>();
            Mock <IUserSMSService>   smsServiceMock   = new Mock <IUserSMSService>();

            UserProfileController service = new UserProfileController(
                userProfileServiceMock.Object,
                httpContextAccessorMock.Object,
                emailServiceMock.Object,
                smsServiceMock.Object
                );
            IActionResult actualResult = await service.CreateUserProfile(hdid, createUserRequest);

            Assert.IsType <JsonResult>(actualResult);
            Assert.True(((JsonResult)actualResult).Value.IsDeepEqual(expected));
        }
Example #21
0
        /// <summary>
        /// Registers the user.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="inputModel">The input model.</param>
        /// <returns>
        /// The manager result where the user is returned as the Result.
        /// </returns>
        public virtual ManagerResponse <CreateUserResult, CommerceUser> RegisterUser([NotNull] CommerceStorefront storefront, RegisterUserInputModel inputModel)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(inputModel, "inputModel");
            Assert.ArgumentNotNullOrEmpty(inputModel.UserName, "inputModel.UserName");
            Assert.ArgumentNotNullOrEmpty(inputModel.Password, "inputModel.Password");

            CreateUserResult result;

            // Attempt to register the user
            try
            {
                var request = new CreateUserRequest(inputModel.UserName, inputModel.Password, inputModel.UserName, storefront.ShopName);
                result = this._customerServiceProvider.CreateUser(request);
                //                if (!result.Success)
                //                {
                //                    Helpers.LogSystemMessages(result.SystemMessages, result);
                //                }
                //                else

                if (result.Success && result.CommerceUser == null && result.SystemMessages.Count() == 0)
                {
                    // Connect bug:  This is a work around to a Connect bug.  When the user already exists,connect simply aborts the pipeline but
                    // does not set the success flag nor does it return an error message.
                    result.Success = false;
                    result.SystemMessages.Add(new SystemMessage {
                        Message = StorefrontManager.GetSystemMessage(StorefrontConstants.SystemMessages.UserAlreadyExists)
                    });
                }
            }
            catch (MembershipCreateUserException e)
            {
                result = new CreateUserResult {
                    Success = false
                };
                result.SystemMessages.Add(new Commerce.Services.SystemMessage {
                    Message = ErrorCodeToString(e.StatusCode)
                });
            }

            return(new ManagerResponse <CreateUserResult, CommerceUser>(result, result.CommerceUser));
        }
Example #22
0
        /// <summary>
        /// Creates the user.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public async Task <APIResponse> CreateUser(CreateUserRequest request)
        {
            try
            {
                var client = httpClientFactory.CreateClient(IdentityServiceOperation.serviceName);

                var         param       = JsonConvert.SerializeObject(request);
                HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json");

                var response = await client.PostAsync(servicesConfig.Identity + IdentityServiceOperation.CreateUser(), contentPost);

                return(JsonConvert.DeserializeObject <APIResponse>(await response.Content.ReadAsStringAsync()));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'CreateUser()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
Example #23
0
 public IActionResult Post([FromBody] CreateUserRequest userRequest)
 {
     try
     {
         var user = userUsesCase.Create(userRequest).ToCreateUserResponse();
         return(StatusCode((int)HttpStatusCode.Created, user));
     }
     catch (FormatException)
     {
         return(BadRequest(new { message = "Photo invalid" }));
     }
     catch (DbUpdateException)
     {
         return(BadRequest(new { message = "Email has already been registered" }));
     }
     catch (System.Exception)
     {
         return(StatusCode((int)HttpStatusCode.InternalServerError));
     }
 }
        private void OnCreateUserRequest(SyncFilesRequest syncFilesRequest, CreateUserRequest request, HttpRequestEventArgs arg3)
        {
            foreach (var availableFolder in request.AvailableFolders)
            {
                switch (availableFolder.AvailableFolderAction)
                {
                case AvailableFolderAction.Add:
                    _userTableDataBase.Add(request.Login, request.Password, availableFolder.Path);
                    break;

                case AvailableFolderAction.Remove:
                    _userTableDataBase.Remove(request.Login, request.Password, availableFolder.Path);
                    _syncTableDataBase.RemoveSyncStatesByAvailableFolder(request.Login, availableFolder.Path);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
        }
Example #25
0
        public CreateUserResponse Create(CreateUserRequest request)
        {
            var response = new CreateUserResponse();

            try
            {
                var user = request.User.ToDomain(_userRepository);

                _userRepository.Add(user);
                _unitOfWork.Commit();

                response.User = user.ToDataContract();
            }
            catch (Exception ex)
            {
                response.Exception = ex;
            }

            return(response);
        }
Example #26
0
        public async Task <CreateUserResponse> CreateNewUser([FromBody] CreateUserRequest model)
        {
            var validationResult = await _createUserRequestValidator.ValidateAsync(model);

            if (!validationResult.IsValid)
            {
                validationResult.Errors.Select(a => new { a.PropertyName, a.ErrorMessage });
                return(new CreateUserResponse
                {
                    IsSuccessfull = false,
                    Errors = validationResult.Errors.Select(a => new PropertyErrorModel {
                        PropertyName = a.PropertyName.ToCamelCase(), ErrorMessage = a.ErrorMessage
                    }).ToArray()
                });
            }

            var response = await _mediator.Send(model);

            return(response);
        }
Example #27
0
        public async Task <ActionResult <User> > Post([FromBody] CreateUserRequest request)
        {
            var service = ServiceFactory.CreateUsersService(
                _configuration.GetConnectionString("UsersDatabase"));

            var response = await service.CreateUser(request);

            if (response.Status == ResponseStatus.Success)
            {
                return(Accepted(response.User));
            }
            else if (response.Status == ResponseStatus.ValidationError)
            {
                return(BadRequest(response.Message));
            }
            else
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Example #28
0
        public User Create(CreateUserRequest newUser)
        {
            var salt = GenerateSalt();

            var insertResponse = _context.Users.Add(new User
            {
                FirstName       = newUser.FirstName,
                LastName        = newUser.LastName,
                Email           = newUser.Email,
                Username        = newUser.Username,
                ProfileImageUrl = newUser.ProfileImageUrl,
                CoverImageUrl   = newUser.CoverImageUrl,
                Salt            = salt,
                HashedPassword  = HashPassword(newUser.PasswordInput, salt)
            });

            _context.SaveChanges();

            return(insertResponse.Entity);
        }
Example #29
0
        public static void CreateDemoUser()
        {
            var client  = new AmazonIdentityManagementServiceClient();
            var request = new CreateUserRequest
            {
                UserName = "******"
            };

            try
            {
                var response = client.CreateUser(request);

                Console.WriteLine("User Name = '{0}', ARN = '{1}'",
                                  response.User.UserName, response.User.Arn);
            }
            catch (EntityAlreadyExistsException)
            {
                Console.WriteLine("User 'DemoUser' already exists.");
            }
        }
Example #30
0
        public User Create(CreateUserRequest newUser)
        {
            IHashService hash           = new HashAlgorithm();
            var          salt           = hash.GetSalt();
            var          insertResponse = _context.Users.Add(new User
            {
                FirstName       = newUser.FirstName,
                LastName        = newUser.LastName,
                Email           = newUser.Email,
                Username        = newUser.Username,
                ProfileImageUrl = newUser.ProfileImageUrl,
                CoverImageUrl   = newUser.CoverImageUrl,
                Salt            = salt,
                HashedPassword  = hash.HashPassword(salt, newUser.Password)
            });

            _context.SaveChanges();

            return(insertResponse.Entity);
        }
        public static UserDomain CriandoUsuarioComSucesso(string username, string password, string realName, string email, string acessLevelName, string ativacao, string protecao, string statusCodeExpected)
        {
            UserDomain userDomain = new UserDomain();

            CreateUserRequest createUserRequest = new CreateUserRequest();

            createUserRequest.SetJsonBody(username, password, realName, email, acessLevelName, ativacao, protecao);
            IRestResponse <dynamic> response = createUserRequest.ExecuteRequest();

            if (!response.StatusCode.ToString().Equals(statusCodeExpected))
            {
                throw new Exception("Erro ao executar a requisição.");
            }

            userDomain.Username = response.Data["user"]["name"].ToString();
            userDomain.RealName = response.Data["user"]["real_name"].ToString();
            userDomain.Email    = response.Data["user"]["email"].ToString();

            return(userDomain);
        }
Example #32
0
        protected override async Task <Entity> CreateNewAsync(ApiOptions options)
        {
            var request = new CreateUserRequest()
            {
                User = this
            };

            ApiOptions.Apply(request, options);
            // Create a new object
            var response = await request.ExecuteAsync();

            if (response.Status.IsSuccessful == false)
            {
                throw response.Status.ToFault();
            }

            // 3. Update the last known state based on the differences
            Debug.Assert(response.User != null, "If status is successful, then created user should not be null.");
            return(response.User);
        }
        public CreateUserResponse CreateUser(CreateUserRequest createUserRequest)
        {
            //generate salt
            string salt = GenerateSalt(maxLenghtOfSalt); // new byte[maxLenghtOfSalt];

            //create hash and then store user name and hased password and salt

            string hashedPassword = CreateHashedPassword(Encoding.UTF8.GetBytes(createUserRequest.Password + salt));

            User user = new User()
            {
                UserName       = createUserRequest.Username,
                HashedPassword = hashedPassword,
                Salt           = salt.ToString(),
                PAN            = createUserRequest.PAN
            };
            var createUserResponse = UserAccess.CreateUser(user);

            return(createUserResponse);
        }
Example #34
0
        public IActionResult Post([FromBody] CreateUserRequest createUser)
        {
            if (createUser.Name.Equals("") || createUser.Surname.Equals("") || createUser.Email.Equals("") || createUser.Password.Equals(""))
            {
                return(BadRequest("Missing or invalid data!"));
            }
            else
            {
                if (userRepository.FindByEmail(createUser.Email))
                {
                    return(Conflict("User with this email is existing in database!"));
                }
                else
                {
                    createUser.Password = BCryptUtilities.encodePassword(createUser.Password);

                    return(Ok(userRepository.Create(createUser.ReturnUser())));
                }
            }
        }
Example #35
0
        /// <summary>
        /// CreateUser's Logic
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <CreateUserResponse> CreateUser(CreateUserRequest request)
        {
            Random rnd       = new Random();
            int    rndNumber = rnd.Next(1, 10000);

            UsersData.UsersDataInMem.Add(new UserDto
            {
                Id      = rndNumber,
                Name    = request.RequestData.Name,
                Age     = request.RequestData.Age,
                Address = request.RequestData.Address.ToString()
            });

            var response = new CreateUserResponse()
            {
                Success = true,
            };

            return(await Task.FromResult(response));
        }
Example #36
0
 public CommandResult<User> CreateUser(CreateUserRequest createUserRequest)
 {
     return _createUserCommand.ExecuteRequest(createUserRequest);
 }
Example #37
0
        public void CreateUserTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""guid-9ca6119b-7311-48fa-96f8-6ab604dca950"",
    ""url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950"",
    ""created_at"": ""2015-05-19T15:27:24+00:00"",
    ""updated_at"": null
  },
  ""entity"": {
    ""admin"": false,
    ""active"": false,
    ""default_space_guid"": null,
    ""spaces_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/spaces"",
    ""organizations_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/organizations"",
    ""managed_organizations_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/managed_organizations"",
    ""billing_managed_organizations_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/billing_managed_organizations"",
    ""audited_organizations_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/audited_organizations"",
    ""managed_spaces_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/managed_spaces"",
    ""audited_spaces_url"": ""/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/audited_spaces""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                CreateUserRequest value = new CreateUserRequest();


                var obj = cfClient.Users.CreateUser(value).Result;


                Assert.AreEqual("guid-9ca6119b-7311-48fa-96f8-6ab604dca950", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2015-05-19T15:27:24+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("false", TestUtil.ToTestableString(obj.Admin), true);
                Assert.AreEqual("false", TestUtil.ToTestableString(obj.Active), true);
                Assert.AreEqual("", TestUtil.ToTestableString(obj.DefaultSpaceGuid), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/organizations", TestUtil.ToTestableString(obj.OrganizationsUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/managed_organizations", TestUtil.ToTestableString(obj.ManagedOrganizationsUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/billing_managed_organizations", TestUtil.ToTestableString(obj.BillingManagedOrganizationsUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/audited_organizations", TestUtil.ToTestableString(obj.AuditedOrganizationsUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/managed_spaces", TestUtil.ToTestableString(obj.ManagedSpacesUrl), true);
                Assert.AreEqual("/v2/users/guid-9ca6119b-7311-48fa-96f8-6ab604dca950/audited_spaces", TestUtil.ToTestableString(obj.AuditedSpacesUrl), true);

            }
        }
        public CreateUserResponse CreateUser(CreateUserRequest request)
        {
            var response = new CreateUserResponse();

            try
            {
                var user = request.User;
                var password = request.Password ?? Membership.GeneratePassword(14, 5);
                var now = DateTimeOffset.Now;

                var propertyValues = new
                {
                    FirstName = user.FirstName.Trim(),
                    LastName = user.LastName.Trim(),
                    Email = user.Email.Trim().ToLower(),
                    Created = now,
                    Updated = now
                };

                WebSecurity.CreateUserAndAccount(user.UserName.Trim(), password, propertyValues, requireConfirmationToken: false);
                response.Password = password;
                response.Status = StatusCode.OK;
            }
            // https://msdn.microsoft.com/en-us/library/system.web.security.membershipcreateuserexception.statuscode(v=vs.110).aspx
            catch (MembershipCreateUserException ex)
            {
                response.Status = StatusCode.BadRequest;
                response.CreateAccountStatus = this.MapCreateAccountStatus(ex.StatusCode);
            }
            catch (Exception ex)
            {
                response.Status = StatusCode.InternalServerError;
                this.exceptionHandler.HandleException(ex);
            }

            return response;
        }
        /// <summary>
        /// Registers the user.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="inputModel">The input model.</param>
        /// <returns>
        /// The manager result where the user is returned as the Result.
        /// </returns>
        public virtual ManagerResponse<CreateUserResult, CommerceUser> RegisterUser([NotNull] CommerceStorefront storefront, RegisterUserInputModel inputModel)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(inputModel, "inputModel");
            Assert.ArgumentNotNullOrEmpty(inputModel.UserName, "inputModel.UserName");
            Assert.ArgumentNotNullOrEmpty(inputModel.Password, "inputModel.Password");

            CreateUserResult result;

            // Attempt to register the user
            try
            {
                var request = new CreateUserRequest(inputModel.UserName, inputModel.Password, inputModel.UserName, storefront.ShopName);
                result = this.CustomerServiceProvider.CreateUser(request);
                if (!result.Success)
                {
                    Helpers.LogSystemMessages(result.SystemMessages, result);
                }
            }
            catch (MembershipCreateUserException e)
            {
                result = new CreateUserResult { Success = false };
                result.SystemMessages.Add(new Commerce.Services.SystemMessage { Message = ErrorCodeToString(e.StatusCode) });
            }

            return new ManagerResponse<CreateUserResult, CommerceUser>(result, result.CommerceUser);
        }
Example #40
0
        public CreateUserResponse Post(CreateUserRequest request)
        {
            _log.StartLog(request);
            try
            {
                if (String.IsNullOrWhiteSpace(request.Password))
                {
                    var password = _authProvider.CreateUser(request.Username);
                    if (password != null)
                    {
                        return new CreateUserResponse {Password = password};
                    }
                        throw new Exception("User could not be created. May already be registered?");

                }
                else
                {
                   if (_authProvider.CreateUserWithPassword(request.Username, request.Password))
                   {
                       return new CreateUserResponse();
                   }

                   throw new Exception("User could not be created. May already be registered?");

                }
            }
            catch (Exception e)
            {
                _log.Fatal("error", e);
                Errors.Add(e.Message + " " + e.StackTrace);
                return new CreateUserResponse {Errors = Errors};
            }
        }
Example #41
0
 public CreateUserViewModel Get(CreateUserRequest request)
 {
     return new CreateUserViewModel();
 }
        /// <summary>
        /// Registers the user.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="inputModel">The input model.</param>
        /// <returns>
        /// The manager result where the user is returned as the Result.
        /// </returns>
        public virtual ManagerResponse<CreateUserResult, CommerceUser> RegisterUser([NotNull] CommerceStorefront storefront, RegisterUserInputModel inputModel)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(inputModel, "inputModel");
            Assert.ArgumentNotNullOrEmpty(inputModel.UserName, "inputModel.UserName");
            Assert.ArgumentNotNullOrEmpty(inputModel.Password, "inputModel.Password");

            CreateUserResult result;

            // Attempt to register the user
            try
            {
                var request = new CreateUserRequest(inputModel.UserName, inputModel.Password, inputModel.UserName, storefront.ShopName);
                result = this.CustomerServiceProvider.CreateUser(request);
                if (!result.Success)
                {
                    Helpers.LogSystemMessages(result.SystemMessages, result);
                }
                else if (result.Success && result.CommerceUser == null && result.SystemMessages.Count() == 0)
                {
                    // Connect bug:  This is a work around to a Connect bug.  When the user already exists,connect simply aborts the pipeline but
                    // does not set the success flag nor does it return an error message.
                    result.Success = false;
                    result.SystemMessages.Add(new SystemMessage { Message = StorefrontManager.GetSystemMessage("UserAlreadyExists") });
                }
            }
            catch (MembershipCreateUserException e)
            {
                result = new CreateUserResult { Success = false };
                result.SystemMessages.Add(new Commerce.Services.SystemMessage { Message = ErrorCodeToString(e.StatusCode) });
            }

            return new ManagerResponse<CreateUserResult, CommerceUser>(result, result.CommerceUser);
        }
Example #43
0
 /// <summary>
 /// Creating a User
 /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/195/users/creating_a_user.html"</para>
 /// </summary>
 public async Task<CreateUserResponse> CreateUser(CreateUserRequest value)
 {
     UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);
     uriBuilder.Path = "/v2/users";
     var client = this.GetHttpClient();
     client.Uri = uriBuilder.Uri;
     client.Method = HttpMethod.Post;
     var authHeader = await BuildAuthenticationHeader();
     if (!string.IsNullOrWhiteSpace(authHeader.Key))
     {
         client.Headers.Add(authHeader);
     }
     client.ContentType = "application/x-www-form-urlencoded";
     client.Content = JsonConvert.SerializeObject(value).ConvertToStream();
     var expectedReturnStatus = 201;
     var response = await this.SendAsync(client, expectedReturnStatus);
     return Utilities.DeserializeJson<CreateUserResponse>(await response.ReadContentAsStringAsync());
 }