示例#1
0
        public async Task <OperationDetails> Create(AnimeUserModel userModel)
        {
            AnimeUser user = await userManager.FindByEmailAsync(userModel.Email);

            if (user == null)
            {
                user = new AnimeUser {
                    Email = userModel.Email, UserName = userModel.Email
                };
                var result = await userManager.CreateAsync(user, userModel.Password);

                if (result.Errors.Count() > 0)
                {
                    return(new OperationDetails(false, result.Errors.FirstOrDefault()));
                }
                await userManager.AddToRoleAsync(user.Id, userModel.Role);

                ClientProfile clientProfile = new ClientProfile {
                    Id = user.Id, Address = userModel.Address, Name = userModel.Name
                };
                clientManager.Create(clientProfile);
                await repo.SaveAsync();

                return(new OperationDetails(true, "Регистрация успешно пройдена"));
            }
            else
            {
                return(new OperationDetails(false, "Пользователь с таким логином уже существует"));
            }
        }
示例#2
0
        public async Task <ClaimsIdentity> AuthenticateAsync(string login, string password)
        {
            ClaimsIdentity claim = null;
            AnimeUser      user  = this.userManager.Find(login, password);

            if (user != null)
            {
                claim = await this.userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
            }
            return(claim);
        }
示例#3
0
        public async Task <ClaimsIdentity> Authenticate(AnimeUserModel userModel)
        {
            ClaimsIdentity claim = null;
            AnimeUser      user  = await userManager.FindAsync(userModel.Email, userModel.Password);

            if (user != null)
            {
                claim = await userManager.CreateIdentityAsync(user,
                                                              DefaultAuthenticationTypes.ApplicationCookie);
            }
            return(claim);
        }
示例#4
0
        public async Task <OperationDetails> RegisterAsync(string login, string password, string email, string name)
        {
            AnimeUser user = await this.userManager.FindByEmailAsync(email);

            if (user != null)
            {
                return(new OperationDetails(false, "EmailAlreadyExist"));
            }
            user = new AnimeUser
            {
                Email    = email,
                UserName = login
            };

            var result = await this.userManager.CreateAsync(user, password);

            if (result.Errors.Count() > 0)
            {
                return(new OperationDetails(false, "InvalidRegistration"));
            }
            return(new OperationDetails(true, "SuccessfulRegistration"));
        }