public async Task <IActionResult> RegisterChild([FromBody] RegisterChildDTO child) { var user = await _helper.GetUserFromClaims(User.Claims); if (user.IsChild) { return(StatusCode(403, "You have no rights to do this.")); } var result = await _accSrv.Register(child, user.Id); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }
public async Task <OperationResult> Register(RegisterChildDTO regChild, string id) { if (IsUserExists(regChild, out string item)) { return(new OperationResult { Data = new[] { regChild }, Success = false, Messages = new[] { $"{item} is invalid or was already taken" } }); } var newUser = new AppUser() { Email = regChild.Email, UserName = regChild.UserName, FullName = regChild.FullName, Age = regChild.Age, Sex = regChild.Sex, IsChild = true, ParentId = id }; var result = await _userManager.CreateAsync(newUser, regChild.Password); if (result.Succeeded) { _purchaseService.SetInitialItem(newUser.Id); return(new OperationResult() { Messages = new[] { "User was successfully registered." }, Success = true }); } return(new OperationResult() { Messages = new[] { "Something was failed while user registration." } }); }