Beispiel #1
0
        public async System.Threading.Tasks.Task <Result> Register(RegisterModel model)
        {
            Entities.Tables.Identity.User user = _mapper.Map <Entities.Tables.Identity.User>(model);

            return(await _transactionManager.ExecuteInImplicitTransactionAsync(async() => {
                IdentityResult result = await _userManager.CreateAsync(user, model.Password);
                if (!result.Succeeded)
                {
                    return new Result()
                    {
                        ResponseStatusType = ResponseStatusType.Error,
                        Message = ResponseMessageType.InternalError
                    };
                }

                /*
                 * var confirmToken = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                 *
                 * var emailConfirmUrl = urlsOptions.CurrentValue.Api
                 *  .AppendPathSegments("Auth", "ConfirmRegister")
                 *  .SetQueryParams(new {uid = user.Id, token = confirmToken});
                 *
                 *
                 *  await emailSenderService.SendEmailByTemplateAsync(
                 *      model.Email,
                 *      "register.html",
                 *      new Dictionary<string, string> {{"[link]", emailConfirmUrl}}
                 *  );
                 */
                return new Result()
                {
                    ResponseStatusType = ResponseStatusType.Succeed
                };
            }));
        }
Beispiel #2
0
        public async System.Threading.Tasks.Task <DataResult <UserBaseModel> > Login(LoginModel model)
        {
            DataResult <UserBaseModel> result = new DataResult <UserBaseModel>();

            Entities.Tables.Identity.User user = await _userManager.FindByEmailAsync(model.Email.Trim());

            if (user == null || !(await _signInManager.CheckPasswordSignInAsync(user, model.Password, false)).Succeeded)
            {
                result.ResponseStatusType = ResponseStatusType.Error;
                result.Message            = ResponseMessageType.UserNotAuthorized;
            }
            else
            {
                await _signInManager.RefreshSignInAsync(user);

                UserBaseModel userModel = _mapper.Map <UserBaseModel>(user);
                result.ResponseStatusType = ResponseStatusType.Succeed;
                result.Data = userModel;
            }
            return(result);
        }