Esempio n. 1
0
        public Short Create(Short shortEntity)
        {
            shortEntity = _dbContext.Short.Add(shortEntity).Entity;
            _dbContext.SaveChanges();

            return(shortEntity);
        }
Esempio n. 2
0
        public Timeline Create(Timeline timeline)
        {
            var timelineEntity = _dbContext.Timeline.Add(timeline).Entity;

            _dbContext.SaveChanges();

            return(timelineEntity);
        }
Esempio n. 3
0
        public Book Create(Book book)
        {
            var bookEntity = _dbContext.Book.Add(book).Entity;

            _dbContext.SaveChanges();

            return(bookEntity);
        }
Esempio n. 4
0
        public Chapter Create(Chapter chapter)
        {
            var chapterEntity = _dbContext.Chapter.Add(chapter).Entity;

            _dbContext.SaveChanges();

            return(chapterEntity);
        }
        public Personification Create(Personification personification)
        {
            var personificationEntity = _dbContext.Personification.Add(personification).Entity;

            _dbContext.SaveChanges();

            return(personification);
        }
Esempio n. 6
0
        public Prompt Create(Prompt prompt)
        {
            var promptEntity = _dbContext.Prompt.Add(prompt).Entity;

            _dbContext.SaveChanges();

            return(promptEntity);
        }
Esempio n. 7
0
        public Tag Create(Tag tag)
        {
            var tagEntity = _dbContext.Tag.Add(tag).Entity;

            _dbContext.SaveChanges();

            return(tagEntity);
        }
Esempio n. 8
0
        public string EncodeRefreshToken(string username, DateTime expiryDate)
        {
            var author         = Read(username);
            var previousTokens = _dbContext.RefreshToken
                                 .Where(token => token.AuthorId == author.AuthorId && token.IsRevoked.HasValue && !token.IsRevoked.Value)
                                 .ToList();

            foreach (var token in previousTokens)
            {
                token.IsRevoked = true;
            }
            var refreshToken = new RefreshToken
            {
                AuthorId = author.AuthorId,
                RefreshTokenExpiryDate = expiryDate,
                InitialVector          = PasswordHelper.GenerateInitialVector(),
                EncryptionKey          = PasswordHelper.GenerateAesKey(),
            };
            var refreshTokenEntity = _dbContext.RefreshToken.Add(refreshToken).Entity;

            _dbContext.RefreshToken.UpdateRange(previousTokens);
            _dbContext.SaveChanges();

            var refreshTokenClaims = new DecodedRefreshTokenClaims
            {
                Username   = username,
                ExpiryDate = expiryDate,
                Secret     = EncryptionHelper.EncryptBytes(BitConverter.GetBytes(refreshToken.RefreshTokenId), refreshToken.EncryptionKey, refreshToken.InitialVector),
            };
            var encodedToken = String.Empty;

            using (var serializerStream = new MemoryStream())
            {
                Console.WriteLine($"{nameof(EncodeRefreshToken)} refreshTokenClaims: [{refreshTokenClaims.ToString()}]");
                _binaryFormatter.Serialize(serializerStream, refreshTokenClaims);
                encodedToken = Convert.ToBase64String(serializerStream.ToArray());
            }

            return(encodedToken);
        }
Esempio n. 9
0
        public void RelatePromptTag(long promptId, long tagId, long authorId, Guid promptClientId, Guid tagClientId)
        {
            // with no return value, allow any potential exceptions to bubble up
            var promptTagJoin = new PromptTagJoin
            {
                PromptId       = promptId,
                TagId          = tagId,
                AuthorId       = authorId,
                PromptClientId = promptClientId,
                TagClientId    = tagClientId,
            };

            _dbContext.PromptTagJoin.Add(promptTagJoin);
            _dbContext.SaveChanges();
        }