Example #1
0
        /// <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);
        }
Example #2
0
        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));
        }
Example #3
0
            ) 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);
        }