public async Task <OperationResult> AddUserAsync(InpAddUser Input) { try { if (string.IsNullOrWhiteSpace(Input.Email)) { throw new ArgumentNullException("Email cant be null."); } if (string.IsNullOrWhiteSpace(Input.PhoneNumber)) { throw new ArgumentNullException("PhoneNumber cant be null."); } if (string.IsNullOrWhiteSpace(Input.FirstName)) { throw new ArgumentNullException("FirstName cant be null."); } if (string.IsNullOrWhiteSpace(Input.LastName)) { throw new ArgumentNullException("LastName cant be null."); } if (string.IsNullOrWhiteSpace(Input.Password)) { throw new ArgumentNullException("Password cant be null."); } tblUsers tUser = new tblUsers() { Date = DateTime.Now, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName, AccessLevelId = Guid.Parse(await _AccesslevelApplication.GetIdByNameAsync("Users")), IsActive = true, PhoneNumber = Input.PhoneNumber, UserName = Input.Email }; var Result = await _UserRepository.CreateUserAsync(tUser, Input.Password); if (Result.Succeeded) { if (_UserRepository.RequireConfirmedEmail()) { return(new OperationResult().Succeeded(1, tUser.Id.ToString())); } else { return(new OperationResult().Succeeded("UserCreatedSuccessfully")); } } else { return(new OperationResult().Failed(string.Join(", ", Result.Errors.Select(a => a.Description)))); } } catch (Exception ex) { _Logger.Error(ex); return(new OperationResult().Failed("Error500")); } }
public async Task <OperationResult> AddUserAsync(InpAddUser input) { try { if (string.IsNullOrWhiteSpace(input.Email)) { throw new ArgumentNullException("Email cant be null."); } if (string.IsNullOrWhiteSpace(input.PhoneNumber)) { throw new ArgumentNullException("PhoneNumber cant be null."); } if (string.IsNullOrWhiteSpace(input.FirstName)) { throw new ArgumentNullException("FirstName cant be null."); } if (string.IsNullOrWhiteSpace(input.LastName)) { throw new ArgumentNullException("LastName cant be null."); } if (string.IsNullOrWhiteSpace(input.Password)) { throw new ArgumentNullException("Password cant be null."); } TblUser tUser = new TblUser() { Date = DateTime.Now, Email = input.Email, FirstName = input.FirstName, LastName = input.LastName, AccessLevelId = Guid.Parse(await _accesslevelApplication.GetIdByNameAsync("Users")), IsActive = true, PhoneNumber = input.PhoneNumber, UserName = input.Email }; var result = await _userRepository.CreateUserAsync(tUser, input.Password); if (result.Succeeded) { if (_userRepository.RequireConfirmEmail()) { /* * code = 1 * یعنی کاربر ثبت نام کرده و باید ایمیلش هم تایید کند */ return(new OperationResult().Succeed(1, tUser.Id.ToString())); } else { //کاربر نیاز به تایید ایمیل ندارد return(new OperationResult().Succeed("UserCreatedSuccessfully")); } } else { return(new OperationResult().Failed(string.Join(", ", result.Errors.Select(x => x.Description)))); } } catch (Exception ex) { _logger.Error(ex); return(new OperationResult().Failed("Error500")); } }