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, "Пользователь с таким логином уже существует")); } }
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); }
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); }
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")); }