public async Task <bool> Register(User user) { var registeredUser = await this.repository.GetAsync <User>(true, x => x.Email == user.Email); if (registeredUser != null) { throw new Exception("Email is already registered."); } user.Password = CryptographicService.GetHashString(user.Password); await this.repository.AddAsync <User>(user); return(true); }
public async Task <UserInfo> LoginLikeClient(User user) { var client = await this.repository.GetAsync <User>(true, x => x.Email == user.Email && x.Password == CryptographicService.GetHashString(user.Password)); if (client == null) { throw new Exception("User not found"); } UserInfo userInfo = new UserInfo(); userInfo.Token = CryptographicService.EncryptString(client.Id + "|" + "user" + "|" + ""); userInfo.Role = "user"; userInfo.InstitutionId = "-1"; return(userInfo); }