Ejemplo n.º 1
0
        public void AddQuestion(Question question, IEnumerable <string> tags)
        {
            using var ctx = new QAContext(_connectionString);
            ctx.Questions.Add(question);
            ctx.SaveChanges();
            foreach (string tag in tags)
            {
                Tag t = GetTag(tag);
                int tagId;
                if (t == null)
                {
                    tagId = AddTag(tag);
                }
                else
                {
                    tagId = t.Id;
                }
                ctx.QuestionsTags.Add(new QuestionsTags
                {
                    QuestionId = question.Id,
                    TagId      = tagId
                });
            }

            ctx.SaveChanges();
        }
Ejemplo n.º 2
0
        public void AddUser(User user, string password)
        {
            string hash = BCrypt.Net.BCrypt.HashPassword(password);

            using var ctx     = new QAContext(_connectionString);
            user.PasswordHash = hash;
            ctx.Users.Add(user);
            ctx.SaveChanges();
        }
Ejemplo n.º 3
0
        private int AddTag(string name)
        {
            using var ctx = new QAContext(_connectionString);
            var tag = new Tag {
                Name = name
            };

            ctx.Tags.Add(tag);
            ctx.SaveChanges();
            return(tag.Id);
        }
Ejemplo n.º 4
0
        public void AddLike(int questionId, int userId)
        {
            using var context = new QAContext(_connectionString);
            var like = new Like
            {
                QuestionId = questionId,
                UserId     = userId
            };

            context.Likes.Add(like);
            context.SaveChanges();
        }
Ejemplo n.º 5
0
 public void AddAnswer(Answer answer)
 {
     using var ctx = new QAContext(_connectionString);
     ctx.Answers.Add(answer);
     ctx.SaveChanges();
 }