public IEnumerable <DalUser> GetCoauthors(DalTest test) { if (context.Database.Connection.State != ConnectionState.Open) { context.Database.Connection.Open(); } Tests ormtest = context.Set <Tests>().FirstOrDefault(tests => tests.id == test.Id); IEnumerable <Users> users = ormtest.CoAuthors.AsEnumerable(); List <DalUser> result = new List <DalUser>(); foreach (Users u in users) { result.Add(new DalUser() { Id = u.id, Login = u.Login, Email = u.Email, FirstName = u.FirstName, SecondName = u.SecondName, ThirdName = u.ThirdName, PasswordHash = u.PasswordHash }); } return(result); }
public void Delete(DalTest e) { context.Database.Connection.Open(); Tests test = context.Set <Tests>().FirstOrDefault(tests => tests.id == e.Id); context.Set <Tests>().Remove(test); }
/// <summary> /// Updates test in data storage. /// </summary> /// <param name="test"> Test to update.</param> /// <exception> System.ArgumentNullException if test is null.</exception> public void Update(DalTest test) { if (test == null) { throw new ArgumentNullException(nameof(test)); } var dbTest = context.Set <Test>().Find(test.Id); var testQuestions = dbTest.Questions.ToList(); context.Entry(dbTest).CurrentValues.SetValues(test); foreach (var testQuestion in testQuestions) { var question = test.Questions?.SingleOrDefault(q => q.Id == testQuestion.Id); if (question != null) { context.Entry(testQuestion).CurrentValues.SetValues(question); } else { context.Set <Question>().Remove(testQuestion); } var dbQuestion = context.Set <Question>().Find(testQuestion.Id); var questionAnswers = dbQuestion?.Answers.ToList(); foreach (var questionAnswer in questionAnswers) { var answer = question.Answers?.SingleOrDefault(a => a.Id == questionAnswer.Id); if (answer != null) { context.Entry(questionAnswer).CurrentValues.SetValues(answer); } else { context.Set <Answer>().Remove(questionAnswer); } } } foreach (var question in test.Questions) { if (!testQuestions.Any(q => q.Id == question.Id)) { dbTest.Questions.Add(question.ToQuestion()); } else { foreach (var answer in question.Answers) { if (!testQuestions.SingleOrDefault(q => q.Id == question.Id).Answers.Any(a => a.Id == answer.Id)) { dbTest.Questions.SingleOrDefault(q => q.Id == question.Id).Answers.Add(answer.ToAnswer()); } } } } }
public void SetCoauthor(DalUser user, DalTest test) { context.Database.Connection.Open(); Users ormuser = context.Set <Users>().FirstOrDefault(users => users.id == user.Id); Tests ormtest = context.Set <Tests>().FirstOrDefault(tests => tests.id == test.Id); ormtest.CoAuthors.Add(ormuser); }
public void Delete(DalTest entity) { var test = context.Tests.FirstOrDefault(x => x.Id == entity.Id); if (test != null) { context.Tests.Remove(test); } }
public static Test ToOrmTest(this DalTest test) { return(new Test() { Id = test.Id, Name = test.Name, TestTypeId = test.TestTypeId }); }
public void PublichingTest(DalTest test) { var searchTest = context.Tests.FirstOrDefault(x => x.Id == test.Id); if (searchTest != null) { searchTest.Published = !searchTest.Published; } }
public void Delete(DalTest entity) { var ormTest = entity.ToOrmTest(); var test = context.Set <Test>().FirstOrDefault(u => u.Id == ormTest.Id); context.Set <Test>().Attach(test); context.Set <Test>().Remove(test); context.Entry(test).State = System.Data.Entity.EntityState.Deleted; }
public void Create(DalTest entity) { var test = entity.ToOrmTest(); var ormProfile = context.Set <Profile>().FirstOrDefault(u => u.UserId == test.UserId); ormProfile.CreatedTests.Add(test); context.Set <Test>().Add(test); }
public void Update(DalTest entity) { var test = context.Tests.FirstOrDefault(x => x.Name == entity.NameTest); if (test != null) { test.Description = entity.Description; test.Time = entity.TimeSec; } }
public void Create(DalTest e) { if (e == null) { return; } var test = e.ToTest(); context.Set <Test>().Add(test); }
public static Test ToOrmTest(this DalTest test) { return(new Test { Id = test.Id, Name = test.NameTest, Description = test.Description, Published = test.Published, UserId = test.UserId }); }
public bool AllowedUser(DalTest test, DalUser user) { if (context.Database.Connection.State != ConnectionState.Open) { context.Database.Connection.Open(); } Users ormuser = context.Set <Users>().FirstOrDefault(users => users.id == user.Id); Tests ormtest = context.Set <Tests>().FirstOrDefault(tests => tests.id == test.Id); return(ormtest.AllowedUsers.Contains(ormuser)); // return context.Set<Tests>().Any(t => t.AllowedUsers.Contains(ormuser)) && t.id == test.Id); }
public static TestEntity ToBllTest(this DalTest dalTest) { return(new TestEntity { Id = dalTest.Id, TestName = dalTest.NameTest, Description = dalTest.Description, TimeSec = dalTest.TimeSec, Published = dalTest.Published, UserId = dalTest.UserId }); }
public static TestEntity ToBllTest(this DalTest test) { if (test != null) { return(new TestEntity() { Id = test.Id, Name = test.Name, TestTypeId = test.TestTypeId }); } return(null); }
public static Test ToTestWithId(this DalTest test) { if (test == null) { return(null); } return(new Test() { Id = test.Id, Name = test.Name, Number = test.Number, TimeToDo = test.TimeToDo }); }
/// <summary> /// Maps DalTest entity to BllTest entity. /// </summary> /// <param name="test"> DalTest instance.</param> /// <returns> BllTest instance.</returns> public static BllTest ToBllTest(this DalTest test) { return(new BllTest() { Id = test.Id, Name = test.Name, Created = test.Created, IsTimed = test.IsTimed, TimeToComplete = test.TimeToComplete, Subject = test.Subject?.ToBllSubject(), UserId = test.User?.Id, Questions = test.Questions.Select(q => q.ToBllQuestion()).ToList() }); }
public static TestEntity ToBllTest(this DalTest test) { if (test == null) { return(null); } return(new TestEntity() { Id = test.Id, Name = test.Name, Number = test.Number, TimeToDo = test.TimeToDo }); }
public static DalTest ToDal(this TestEntity test) { var dalTest = new DalTest() { Id = test.Id, Creator = test.Creator, Description = test.Description, Name = test.Name, MinProcentToPassTest = test.MinProcentToPassTest, Time = test.Time, Questions = test.Questions?.Select(q => q.ToDal()).ToList() }; return(dalTest); }
public static Test ToEntity(this DalTest test) { var testEntity = new Test() { Id = test.Id, Creator = test.Creator, Description = test.Description, Name = test.Name, MinProcentToPassTest = test.MinProcentToPassTest, Time = test.Time, Questions = test.Questions?.Select(q => q.ToEntity()).ToList() }; return(testEntity); }
public void Update(DalTest entity) { if (entity != null) { var testToUpdate = context.Set <Test>().FirstOrDefault(u => u.Id == entity.Id); var ormTest = entity.ToOrmTest(); context.Set <Test>().Attach(testToUpdate); testToUpdate.Title = ormTest.Title; testToUpdate.Description = ormTest.Description; testToUpdate.ThemeId = ormTest.ThemeId; testToUpdate.TimeLimit = ormTest.TimeLimit; testToUpdate.MinToSuccess = ormTest.MinToSuccess; testToUpdate.MinToSuccess = ormTest.MinToSuccess; context.Entry(testToUpdate).State = System.Data.Entity.EntityState.Modified; } }
public static TestEntity ToBllTest(this DalTest e) { return(new TestEntity() { Id = e.Id, AllowedTime = e.AllowedTime, Anonymous = e.Anonymous, AuthorId = e.AuthorId, CreationDate = e.CreationDate, Description = e.Description, GlobalAvailability = e.GlobalAvailability, Interview = e.Interview, Name = e.Name, QuestionCount = e.QuestionCount }); }
/// <summary> /// Maps DalTest entity to Test entity. /// </summary> /// <param name="test"> DalTest instance.</param> /// <returns> Test instance.</returns> public static Test ToTest(this DalTest test) { return(new Test() { Id = test.Id, UserId = test.User.Id, SubjectId = test.Subject.Id, Name = test.Name, Created = test.Created, IsTimed = test.IsTimed, TimeToComplete = test.TimeToComplete, User = null, Subject = test.Subject?.Id == 0 ? test.Subject.ToSubject() : null, Questions = test.Questions.Select(q => q.ToQuestion()).ToList() }); }
public static TestEntity ToBll(this DalTest test) { var testEntity = new TestEntity() { Id = test.Id, Creator = test.Creator, Description = test.Description, Name = test.Name, MinProcentToPassTest = test.MinProcentToPassTest, Time = test.Time, }; foreach (var q in test.Questions) { testEntity.Questions.Add(q.ToBll()); } return(testEntity); }
public static DalTest ToDal(this Test test) { var dalTest = new DalTest() { Id = test.Id, Creator = test.Creator, Description = test.Description, Name = test.Name, MinProcentToPassTest = test.MinProcentToPassTest, Time = test.Time }; foreach (var t in test.Questions) { dalTest.Questions.Add(t.ToDal()); } return(dalTest); }
public void Update(DalTest entity) { if (entity == null) { return; } var test = context.Set <Test>().SingleOrDefault(t => t.Id == entity.Id); if (test == default(Test)) { test = entity.ToTest(); context.Set <Test>().Add(test); return; } test.Name = entity.Name; test.Number = entity.Number; test.TimeToDo = entity.TimeToDo; context.Entry(test).State = EntityState.Modified; }
public void StartTest(DalUser user, DalTest test) { if (IsUserTested(user)) { return; } Users ormuser = context.Set <Users>().FirstOrDefault(users => users.id == user.Id); Tests ormtest = context.Set <Tests>().FirstOrDefault(tests => tests.id == test.Id); UsersTests startingTest = new UsersTests() { TestId = ormtest.id, BeginningTime = DateTime.Now, EndingTime = null, MarkForTest = null, RightAnswersCount = null, UserId = ormuser.id }; context.Set <UsersTests>().Add(startingTest); }
public void Update(DalTest entity) { if (context.Database.Connection.State != ConnectionState.Open) { context.Database.Connection.Open(); } Tests test = context.Set <Tests>().FirstOrDefault(tests => tests.id == entity.Id); //check existing test.Name = entity.Name; test.AllowedTime = entity.AllowedTime; test.Anonymous = entity.Anonymous; test.AuthorId = entity.AuthorId; test.CreationDate = entity.CreationDate; test.Description = entity.Description; test.GlobalAvailability = entity.GlobalAvailability; test.Interview = entity.Interview; test.QuestionCount = entity.QuestionCount; test.RequiredQuestionCount = entity.RequiredQuestionCount; }
public IEnumerable <DalQuestion> GetAllTestQuestions(DalTest test) { if (context.Database.Connection.State != ConnectionState.Open) { context.Database.Connection.Open(); } IEnumerable <Questions> questions = context.Set <Questions>().Where(q => q.TestId == test.Id).AsEnumerable(); List <DalQuestion> result = new List <DalQuestion>(); foreach (Questions question in questions) { result.Add(new DalQuestion() { Id = question.id, QuestionNumberInTest = question.QuestionNumberInTest, QuestionStructure = question.QuestionStructure, TestId = question.TestId }); } return(result); }
public static Test ToOrmTest(this DalTest dalTest) { if (dalTest == null) { return(null); } var ormTest = new Test() { Id = dalTest.Id, Title = dalTest.Title, Description = dalTest.Description, TimeLimit = dalTest.TimeLimit, MinToSuccess = dalTest.MinToSuccess, DateCreation = dalTest.DateCreation, UserId = dalTest.UserId, ThemeId = dalTest.ThemeId, Questions = dalTest.Questions.Select(r => r.ToOrmQuestion()).ToList(), TestResults = dalTest.TestResults.Select(r => r.ToOrmTestResult()).ToList() }; return(ormTest); }
public static DalTest ToDalTest(this TestEntity testEntity) { DalTest dalTest = new DalTest() { Id = testEntity.Id, Name = testEntity.Name, Questions = new List<DalQuestion>() }; foreach (var questionEntity in testEntity.Questions) { dalTest.Questions.Add(questionEntity.ToDalQuestion()); } return dalTest; }