public async Task <int> UpdateManyAsync(IEnumerable <Authenticator> auths)
        {
            if (auths == null)
            {
                return(0);
            }

            var updated  = 0;
            var comparer = new AuthenticatorComparer();

            foreach (var auth in auths)
            {
                if (!auth.IsValid())
                {
                    continue;
                }

                var original = await _authenticatorRepository.GetAsync(auth.Secret);

                if (original == null || comparer.Equals(original, auth))
                {
                    continue;
                }

                await _authenticatorRepository.UpdateAsync(auth);

                updated++;
            }

            return(updated);
        }
        public async Task RegisterAsync(Guid id, string name)
        {
            var authenticator = await _authenRepository.GetAsync(id);

            if (authenticator == null)
            {
                throw new Exception($"Authenticator with tag: '{id}' does not exists'");
            }
            var playlist = new Playlist(name, id);
            await _playlistRepository.AddAsync(playlist);
        }
Esempio n. 3
0
        public async Task <AuthenticatorDto> GetAsync(string tag)
        {
            var authenticator = await _authenRepository.GetAsync(tag);

            return(_mapper.Map <Authenticator, AuthenticatorDto>(authenticator));
        }