/// <summary> /// Зарегистрировать. /// </summary> /// <param name="input">Ввод.</param> /// <returns>Задача с зарегистрированным пользователем.</returns> public async Task <HostBasePartAuthUser> Register(ModAuthBaseJobRegisterInput input) { HostBasePartAuthUser result; var data = new DataEntityObjectUser { UserName = input.DataUserName, Email = input.DataEmail, FullName = input.DataFullName }; var userManager = input.UserManager; var identityResult = await userManager.CreateAsync(data, input.DataPassword) .CoreBaseExtTaskWithCurrentCulture(false); if (identityResult.Succeeded) { result = await data.HostBasePartAuthExtCreateUser(userManager) .CoreBaseExtTaskWithCurrentCulture(false); } else { throw new ModAuthBaseJobRegisterException(identityResult.Errors); } return(result); }
public async Task <IActionResult> Register([FromBody] ModAuthBaseJobRegisterInput input) { var result = new ModAuthBaseJobRegisterResult(); var(execute, onSuccess, onError) = MyModel.BuildActionRegister(input); try { result.Data = await execute().CoreBaseExtTaskWithCurrentCulture(false); onSuccess(result); } catch (Exception ex) { onError(ex, result); } return(Ok(result)); }
) BuildActionRegister(ModAuthBaseJobRegisterInput input) { input.UserManager = ExtUserManager; var job = AppJobRegister; Task <HostBasePartAuthUser> execute() => job.Execute(input); void onSuccess(ModAuthBaseJobRegisterResult result) { job.OnSuccess(ExtLogger, result, input); } void onError(Exception ex, ModAuthBaseJobRegisterResult result) { job.OnError(ex, ExtLogger, result); } return(execute, onSuccess, onError); }