public ChatViewModel(ExamDbContext db, User CurrentUser, User Companion, Action TeacherShowStudents) { this.db = db; this.CurrentUser = CurrentUser; this.Companion = Companion; Messages = new List <MessageModel>(); List <Message> newmessages; if (CurrentUser.UserType.Type == "Student") { newmessages = db.Message.Where(m => m.StudentId == this.CurrentUser.Student.StudentId && m.TeacherId == this.Companion.Teacher.TeacherId).ToList(); } else { newmessages = db.Message.Where(m => m.TeacherId == this.CurrentUser.Teacher.TeacherId && m.StudentId == this.Companion.Student.StudentId).ToList(); } if (newmessages != null) { foreach (Message m in newmessages) { Messages.Add(new MessageModel(m, this.CurrentUser.UserTypeId)); } } teacherShowStudents = TeacherShowStudents; lastCheck = DateTime.Now; checkChangesTimer = new Timer(1000); checkChangesTimer.Elapsed += CheckChangesTimer_Elapsed; checkChangesTimer.Start(); }
public void InvalidRegisterShouldReturnErrorsCollection() { var options = new DbContextOptionsBuilder <ExamDbContext>() .UseInMemoryDatabase(databaseName: nameof(InvalidRegisterShouldReturnErrorsCollection)) .Options; using (var context = new ExamDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, config); var added = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "firstName1", LastName = "lastName1", Username = "******", Email = "*****@*****.**", Password = "******" //invalid password should invalidate register }; var result = usersService.Register(added); Assert.IsNotNull(result); Assert.AreEqual(1, result.ErrorMessages.Count()); } }
public void SetUp() { _studentsdata = new List <Student> { new Student { Id = 1, FirstName = "sergey", Name = "pupinin" }, new Student { Id = 2, FirstName = "Ahmet", Name = "Kocyigit" }, new Student { Id = 666, FirstName = "Lion", Name = "gelders" }, }.AsQueryable(); _mockSet = new Mock <DbSet <Student> >(); _mockSet.As <IQueryable <Student> >().Setup(m => m.Provider).Returns(_studentsdata.Provider); _mockSet.As <IQueryable <Student> >().Setup(m => m.Expression).Returns(_studentsdata.Expression); _mockSet.As <IQueryable <Student> >().Setup(m => m.ElementType).Returns(_studentsdata.ElementType); _mockSet.As <IQueryable <Student> >().Setup(m => m.GetEnumerator()).Returns(() => _studentsdata.GetEnumerator()); _mockContext = new Mock <ExamDbContext>(); _mockContext.Setup(c => c.Students).Returns(_mockSet.Object); _studentDbRepository = new StudentDbRepository(_mockContext.Object); _context = new ExamDbContext(); }
public TheoryViewModel(ExamDbContext db, int TopicId, Action showTopics, Action <object> showTasks) : base() { this.db = db; Topic topic = this.db.Topic.Find(TopicId); this.TopicId = TopicId; Title = topic.Title; try { theoryFilePath = Path.GetTempPath() + "tempFile.xps"; File.WriteAllBytes(theoryFilePath, topic.Theory); TheoryFile = new XpsDocument(theoryFilePath, FileAccess.Read); Theory = TheoryFile.GetFixedDocumentSequence(); } catch (Exception ex) { MessageBox.Show("Не удалосб загрузить файл с теорией. " + ex.Message); } this.showTopics = showTopics; this.showTasks = showTasks; }
public void GetAllShouldReturnAllRegisteredUsers() { var options = new DbContextOptionsBuilder <ExamDbContext>() .UseInMemoryDatabase(databaseName: nameof(GetAllShouldReturnAllRegisteredUsers)) .Options; using (var context = new ExamDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, config); var added1 = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "firstName1", LastName = "firstName1", Username = "******", Email = "*****@*****.**", Password = "******" }; var added2 = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "secondName2", LastName = "secondName2", Username = "******", Email = "*****@*****.**", Password = "******" }; usersService.Register(added1); usersService.Register(added2); int numberOfElements = usersService.GetAll().Count(); Assert.NotZero(numberOfElements); Assert.AreEqual(2, numberOfElements); } }
public void SetUp() { _dataBytes = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; _dataBytes1 = new byte[] { 0x10, 0x20, 0x10, 0x20, 0x10, 0x20, 0x10 }; _dataBytes2 = new byte[] { 0x20, 0x10, 0x20, 0x10, 0x10, 0x20, 0x20 }; _data = new List <Exam> { new Exam { Id = 666, Bytes = _dataBytes, Md5 = "grst" }, new Exam { Bytes = _dataBytes1, Md5 = "pqr" }, new Exam { Bytes = _dataBytes2, Md5 = "tvt" }, }.AsQueryable(); _mockSet = new Mock <DbSet <Exam> >(); _mockSet.As <IQueryable <Exam> >().Setup(m => m.Provider).Returns(_data.Provider); _mockSet.As <IQueryable <Exam> >().Setup(m => m.Expression).Returns(_data.Expression); _mockSet.As <IQueryable <Exam> >().Setup(m => m.ElementType).Returns(_data.ElementType); _mockSet.As <IQueryable <Exam> >().Setup(m => m.GetEnumerator()).Returns(() => _data.GetEnumerator()); _mockContext = new Mock <ExamDbContext>(); _mockContext.Setup(c => c.Exams).Returns(_mockSet.Object); _examDbRepository = new ExamDbRepository(_mockContext.Object); _context = new ExamDbContext(); }
public ShowStudentsViewModel(Teacher teacher, ExamDbContext db, Action <object> CurrentAction, string CurrentActionTitle) { this.db = db; CurrentTeacher = teacher; currentAction = CurrentAction; this.CurrentActionTitle = CurrentActionTitle; searchString = ""; Students = new List <StudentModel>(); allStudents = new List <StudentModel>(); try { var students = teacher.Student.ToList(); if (students.Count > 0) { foreach (Student s in students) { allStudents.Add(new StudentModel(s)); } } Students = allStudents; } catch (Exception ex) { MessageBox.Show("Произошла ошибка. " + ex.Message); } }
public void ValidRegisterShouldCreateNewUser() { var options = new DbContextOptionsBuilder <ExamDbContext>() .UseInMemoryDatabase(databaseName: nameof(ValidRegisterShouldCreateNewUser))// "ValidRegisterShouldCreateANewUser") .Options; using (var context = new ExamDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, config); var added = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "firstName1", LastName = "lastName1", Username = "******", Email = "*****@*****.**", Password = "******" }; var result = usersService.Register(added); Assert.IsNull(result); Assert.AreEqual(added.Username, context.Users.FirstOrDefault(u => u.Id == 1).Username); // Assert.AreEqual(1, context.Users.UserRole.FirstOrDefault(uur => uur.Id == 1).UserId); } }
public void GetByIdShouldReturnAnValidUser() { var options = new DbContextOptionsBuilder <ExamDbContext>() .UseInMemoryDatabase(databaseName: nameof(GetByIdShouldReturnAnValidUser)) .Options; using (var context = new ExamDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, config); var added1 = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "firstName1", LastName = "firstName1", Username = "******", Email = "*****@*****.**", Password = "******" }; usersService.Register(added1); var userById = usersService.GetById(1); Assert.NotNull(userById); Assert.AreEqual("firstName1", userById.FirstName); } }
public ErrorsCollection Validate(RegisterPostModel registerPostModel, ExamDbContext context) { ErrorsCollection errorCollection = new ErrorsCollection { Entity = nameof(RegisterPostModel) }; User existing = context.Users.FirstOrDefault(u => u.Username == registerPostModel.Username); if (existing != null) { errorCollection.ErrorMessages.Add($"The username {registerPostModel.Username} is already taken!"); } if (registerPostModel.Password.Length < 6) { errorCollection.ErrorMessages.Add("The password has to be longer than 6 characters"); } //parola sa contina 2 cifre int numberOfDigits = 0; foreach (char c in registerPostModel.Password) { if (c >= '0' && c <= '9') { numberOfDigits++; } } if (numberOfDigits < 2) { errorCollection.ErrorMessages.Add("The password must contains at least 2 digits"); } if (errorCollection.ErrorMessages.Count > 0) { return(errorCollection); } return(null); }
public static void ZipExams(IEnumerable <Student> students) { var basePath = @"D:\school\PXL\2de jaar\Research project\2018_AON18\Aon18.api\Aon18.api\"; System.IO.DirectoryInfo di = new DirectoryInfo(basePath + @"Export\"); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } //save exams var context = new ExamDbContext(); var repositiry = new ExamDbRepository(context); int index = 0; //File file = new File(); foreach (var student in students) { //get exam for student Exam exam = student.Examen; string fileName = student.FirstName + "_" + student.Name + "_" + student.StudentNumber + "_" + index.ToString() + ".zip"; byte[] data = exam.Bytes; var filePath = basePath + @"Export\" + fileName; File.WriteAllBytes(filePath, data); index++; } //zip file export //ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true); }
public void SetUp() { _data = new List <Skelet> { new Skelet { Id = 666, FileName = "demo1" }, new Skelet { Id = 1, FileName = "demo2" }, new Skelet { Id = 2, FileName = "demo3" }, }.AsQueryable(); _mockSet = new Mock <DbSet <Skelet> >(); _mockSet.As <IQueryable <Skelet> >().Setup(m => m.Provider).Returns(_data.Provider); _mockSet.As <IQueryable <Skelet> >().Setup(m => m.Expression).Returns(_data.Expression); _mockSet.As <IQueryable <Skelet> >().Setup(m => m.ElementType).Returns(_data.ElementType); _mockSet.As <IQueryable <Skelet> >().Setup(m => m.GetEnumerator()).Returns(() => _data.GetEnumerator()); _mockContext = new Mock <ExamDbContext>(); _mockContext.Setup(c => c.Skelets).Returns(_mockSet.Object); _skeletDbRepository = new SkeletDbRepository(_mockContext.Object); _context = new ExamDbContext(); }
public void Configure(IServerRoutingTable serverRoutingTable) { using (var context = new ExamDbContext()) { //context.Database.EnsureDeleted(); context.Database.EnsureCreated(); } }
public TeacherViewModel(Teacher teacher, ExamDbContext db) { this.db = db; CurrentTeacher = teacher; CurrentChatVM = new ShowStudentsViewModel(CurrentTeacher, db, ShowChat, "Открыть чат"); CurrentStatisticsVM = new ShowStudentsViewModel(CurrentTeacher, db, ShowStatistics, "Статистика"); }
public void Configure(IServerRoutingTable serverRoutingTable) { // Once on start using (var db = new ExamDbContext()) { db.Database.EnsureCreated(); } }
public StudentViewModel(Student student, ExamDbContext db) { this.db = db; CurrentStudent = student; CurrentStudyingVM = new TopicsViewModel(db, ShowTheory, ShowTasks); CurrentChatViewModel = new ChatViewModel(db, CurrentStudent.User, CurrentStudent.Teacher.User); CurrentStatisticsVM = new StatisticsViewModel(CurrentStudent, db); CurrentPlanViewModel = new PlanViewModel(CurrentStudent, db); }
public AccauntController(ExamDbContext examdb, UserManager <Worker> user, RoleManager <IdentityRole> roleManager, SignInManager <Worker> signInManager, ILogger <AccauntController> logger, IConfiguration cofiguration) { _db = examdb; _userManager = user; _signManager = signInManager; _roleManager = roleManager; _logger = logger; _configuration = cofiguration; }
public List <TimeLogType> GetAll() { using (var connection = new SQLiteConnection(ConnectionString)) { connection.Open(); using (var context = new ExamDbContext(connection, false)) { return(context.Set <TimeLogType>().ToList()); } } }
public TimeLogType GetById(int id) { using (var connection = new SQLiteConnection(ConnectionString)) { connection.Open(); using (var context = new ExamDbContext(connection, false)) { return(context.Set <TimeLogType>().ToList().FirstOrDefault(x => x.Id == id)); } } }
public StatisticsViewModel(Student student, ExamDbContext db) { startDate = DateTime.Today; endDate = DateTime.Today; HasStartDate = true; HasEndDate = true; AreDatesValid = true; this.db = db; CurrentStudent = student; }
public void Create(TimeLogType timeLogType) { using (var connection = new SQLiteConnection(ConnectionString)) { connection.Open(); using (var context = new ExamDbContext(connection, false)) { context.Set <TimeLogType>().Add(timeLogType); context.SaveChanges(); } } }
public StatisticsViewModel(Student student, ExamDbContext db, bool IsTeacherCurrent, Action ShowStudents) { StartDate = DateTime.Today; EndDate = DateTime.Today; HasStartDate = true; HasEndDate = true; AreDatesValid = true; this.db = db; CurrentStudent = student; this.IsTeacherCurrent = IsTeacherCurrent; showStudents = ShowStudents; }
public static void Initialize(IServiceProvider serviceProvider) { using (var context = new ExamDbContext( serviceProvider.GetRequiredService <DbContextOptions <ExamDbContext> >())) { if (context.Courses.Any()) { return; } context.Courses.AddRange( new Course { Id = 1, Title = "x Course", AddedAt = DateTime.Now }, new Course { Id = 2, Title = "x Course", AddedAt = DateTime.Now } ); context.Exams.AddRange( new Exam { Id = 1, Title = "X Exam", Information = "Midterm Exam", NumberOfQuestions = 5, AddedAt = DateTime.Now, StartTime = DateTime.Now, EndTime = DateTime.Now }, new Exam { Id = 2, Title = "y Exam", Information = "Final Exam", NumberOfQuestions = 5, AddedAt = DateTime.Now, StartTime = DateTime.Now, EndTime = DateTime.Now } ); context.SaveChanges(); } }
public TopicsViewModel(ExamDbContext db, Action <object> showTheory, Action <object> showTasks) : base() { this.db = db; this.showTheory = showTheory; this.showTasks = showTasks; try { Topics = db.Topic.ToList(); } catch (Exception ex) { MessageBox.Show("При загрузке данных проихошла ошибка. " + ex.Message); } }
public void GetByIdTest() { // Arrange int id = 666; Exam expectedEntity = _data.ElementAt(0); DbSet <Exam> dbSet = Mock.Of <DbSet <Exam> >(set => set.Find((id)) == expectedEntity); ExamDbContext context = new ExamDbContext(); context.Exams = dbSet; IExamDbRepository repository = new ExamDbRepository(context); // Act var result = repository.GetById(id); // Assert Assert.AreSame(expectedEntity, result); }
public ChatViewModel(ExamDbContext db, User CurrentUser, User Companion) { this.db = db; this.CurrentUser = CurrentUser; this.Companion = Companion; Messages = new List <MessageModel>(); List <Message> newmessages; try { if (CurrentUser.UserType.Type == "Student") { newmessages = db.Message.Where(m => m.StudentId == this.CurrentUser.Student.StudentId && m.TeacherId == this.Companion.Teacher.TeacherId).ToList(); } else { newmessages = db.Message.Where(m => m.TeacherId == this.CurrentUser.Teacher.TeacherId && m.StudentId == this.Companion.Student.StudentId).ToList(); } if (newmessages != null) { foreach (Message m in newmessages) { Messages.Add(new MessageModel(m, this.CurrentUser.UserTypeId)); } } } catch (Exception ex) { MessageBox.Show("При загрезке сообщений произошла ошибка! " + ex.Message); } teacherShowStudents = null; lastCheck = DateTime.Now; checkChangesTimer = new Timer(1000); checkChangesTimer.Elapsed += CheckChangesTimer_Elapsed; checkChangesTimer.Start(); }
public void AuthenticateShouldLogTheRegisteredUser() { var options = new DbContextOptionsBuilder <ExamDbContext>() .UseInMemoryDatabase(databaseName: nameof(AuthenticateShouldLogTheRegisteredUser)) .Options; using (var context = new ExamDbContext(options)) { var validator = new RegisterValidator(); // var validatorUser = new UserRoleValidator(); //var userUserRoleService = new UserUserRolesService(validatorUser, context); var usersService = new UsersService(context, validator, config); var added = new ExamenNet.ViewModels.RegisterPostModel { FirstName = "firstName1", LastName = "lastName1", Username = "******", Email = "*****@*****.**", Password = "******" }; var result = usersService.Register(added); var authenticated = new ExamenNet.ViewModels.LoginPostModel { Username = "******", Password = "******" }; //valid authentification var authresult = usersService.Authenticate(added.Username, added.Password); Assert.IsNotNull(authresult); Assert.AreEqual(1, authresult.Id); Assert.AreEqual(authenticated.Username, authresult.Username); //invalid user authentification var authresult1 = usersService.Authenticate("unknown", "abcdefg"); Assert.IsNull(authresult1); } }
public TasksViewModel(ExamDbContext db, int TopicId, int StudentId, Action showThemes, Action <object> showTheory) { this.db = db; this.TopicId = TopicId; this.StudentId = StudentId; try { var tasks = db.Task.ToList().Where(t => t.TopicId == TopicId); Tasks = new List <TaskModel>(); if (tasks != null) { foreach (Task t in tasks) { if (t.TaskResult.Count > 0) { if (t.TaskResult.Last().IsSolved) { Tasks.Add(new TaskModel(t)); } } else { Tasks.Add(new TaskModel(t)); } } } } catch (Exception ex) { MessageBox.Show("Не удалось загрузить задания. " + ex.Message); } this.showTopics = showThemes; this.showTheory = showTheory; }
public static void InitializeDbForTests(ExamDbContext db) { db.Projects.AddRange(GetSeedingProjects()); db.Contacts.AddRange(GetSeedingContacts()); db.SaveChanges(); }
public LoginViewModel(ExamDbContext db) { this.db = db; Success = false; CurrentUser = null; }