internal Model.Member FindMe(string id) { if(Items == null || Items.Count <= 0) { return null; } Model.Member member = Items.FirstOrDefault(x => x.Id == id); if(member != null) { member.IsMe = true; switch(member.Auth) { case AuthType.STUDENT: Student student = StudentItems.Single(x => x.Id == id); student.IsMe = true; break; case AuthType.TEACHER: Teacher teacher = TeacherItems.Single(x => x.Id == id); teacher.IsMe = true; break; case AuthType.PARENT: Parent parent = ParentItems.Single(x => x.Id == id); parent.IsMe = true; break; } return member; } return new Model.Member(); }
internal void AddStudent(Student student) { lock (_lock) { // Once locked, you can manipulate the collection safely from another thread StudentItems.Add((Student)student.Clone()); } }
internal Student GetStudentByIdx(int idx) { if (StudentItems == null || StudentItems.Count <= 0) return null; return StudentItems.Where(x => x.Idx == idx).FirstOrDefault(); }