public int AddQuestion(QuestionDTO currentQuestion, int userId) { Questions questionToAdd = new Questions { Content = currentQuestion.Content, ThemeId = currentQuestion.ThemeId, UserId = userId, Type = currentQuestion.Type.ToString() }; foreach (var answer in currentQuestion.Answers) { var answerToAdd = new Answers { Content = answer.Content, Question = questionToAdd }; db.Answers.Add(answerToAdd); } db.Questions.Add(questionToAdd); db.SaveChanges(); return(questionToAdd.Id); }
public void CreateTest(TestDTO test, int id) { var testToAdd = new Tests { Class = test.Class, DateCreated = DateTime.Now, AuthorId = id, IsPublic = (byte)(test.IsPublic ? 1 : 0), ThemeId = test.Theme.Id }; for (int i = 0; i < test.Questions.Count; i++) { var tq = new TestsQuestions { Test = testToAdd, QuestionId = test.Questions[i].Id, QuestionPlace = i }; this.db.TestsQuestions.Add(tq); } this.db.Tests.Add(testToAdd); db.SaveChanges(); }
public void Register(string username, string password, string name, string email, bool is_admin) { var user = new Users { Name = name, Username = username, Email = email, IsAdmin = is_admin ? (byte)1 : (byte)0, Password = PasswordHasher.HashPassword(password) }; dbContext.Users.Add(user); dbContext.SaveChanges(); }
public void UpdateUser(UserDTO currentUser) { var user = dbContext.Users .Include(u => u.UsersSubjects) .ThenInclude(us => us.Subject) .FirstOrDefault(u => u.Id == currentUser.Id); if (user == null) { return; } user.Name = currentUser.Name; user.Username = currentUser.Username; user.IsAdmin = currentUser.IsAdmin ? (byte)1 : (byte)0; user.Email = currentUser.Email; user.CurrentSubjectId = currentUser.Subject.Id; if (!string.IsNullOrWhiteSpace(currentUser.Password)) { user.Password = PasswordHasher.HashPassword(currentUser.Password); } foreach (var subj in user.UsersSubjects.ToList()) { if (!currentUser.Subjects.Any(s => s.Id == subj.SubjectId)) { this.dbContext.UsersSubjects.Remove(subj); } } foreach (var subj in currentUser.Subjects) { if (!user.UsersSubjects.Any(us => us.SubjectId == subj.Id)) { this.dbContext .UsersSubjects .Add(new UsersSubjects { User = user, SubjectId = subj.Id }); } } dbContext.SaveChanges(); }